나는 토네이도를 사용하여 휴식 처리기를 만듭니다. 여기에 InvalidRequest, InvalidToken 등과 같은 몇 가지 공통적 인 예외가 있습니다. 그래서 이들을위한 예외 처리기를 어떻게 만들 수 있는지 알고 싶었습니다.함수로 예외 처리기
class RestRegisterHandler(RestHandler):
@gen.coroutine
def post(self):
self.raw_data = None
try:
yield self.validate_user()
self.raw_data = json_decode(self.request.body)
logger.debug(self.raw_data)
model_object = self.model(self.raw_data)
model_object.validate()
logger.debug("Inseting to database")
yield model_object.insert(self.db)
except InvalidRequest:
self.write_error(404, 'Invalid request')
except InvalidToken:
self.write_error(404, 'Token Validation Failed')
except ModelValidationError as error:
logger.error("Unknown Validation error: '{0}'".format(error))
raise utils.errors.ValidationError(400, error_messages=error.messages)
except DuplicateKeyError:
logger.debug("User already exists")
self.write_error(404, 'User already exists')
except Exception as e:
logger.error(e)
self.write_error(404, 'Invalid request')
else:
logger.debug("db saved")
self.write("Registered succesfully")
return
뭔가 이런
class RestHandler():
def super_exception():
except InvalidToken:
print()
except InvalidRequest:
print()
# the rest of exceptions should be handled by post function