@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(“用户已存在”)”这种方式虽然能返回错误码和细节,但是并不能处理异常吧?请问这种时候是不是有更好的处理方式?