用户服务中的“创建用户”处理异常的方式
来源:23-12 新建用户接口

0沉默使者0
2023-04-05
@logger.catch
def CreateUser(self, request: user_pb2.CreateUserInfo, context):
# 新建用户, web开发 - 表单验证 没有必要做 web层做就好了 srv服务层尽可能通用一点
try:
User.get(User.mobile == request.mobile)
context.set_code(grpc.StatusCode.ALREADY_EXISTS)
context.set_details("用户已存在")
return user_pb2.UserInfoResponse()
except DoesNotExist as e:
pass
user = User()
user.nick_name = request.nickName
user.mobile = request.mobile
user.password = pbkdf2_sha256.hash(request.passWord)
user.save()
return self.convert_user_to_rsp(user)
老师您好,我想问的是,当用户已存在然后创建用户时,使用“context.set_code(grpc.StatusCode.ALREADY_EXISTS)
context.set_details(“用户已存在”)”这种方式虽然能返回错误码和细节,但是并不能处理异常吧?请问这种时候是不是有更好的处理方式?
写回答
1回答
-
bobby
2023-04-07
context.set_details(“用户已存在”)”这种方式虽然能返回错误码和细节,但是并不能处理异常吧? 这句话是什么意思,我不太明白
022023-04-09
相似问题