【发布时间】:2015-03-31 05:46:06
【问题描述】:
在我的API中,创建新用户时,我调用了一些函数:
userInfo = request.get_json()
email = userInfo.get('email')
password = userInfo.get('password')
validate_email(email)
validate_password(password)
if (no_errors):
add_user_to_database(user)
else:
return exception(?)
我的目标是收集前 3 次 function 调用中的任何一个导致的所有错误。一个函数可能会捕获多个错误。
例如:
def validate_email(email):
if email is None:
# store error
else:
if email_already_on_server(email)
# store error
if email_too_long(email)
# store error
# What should I be doing here..
存储完所有errors 后,我想返回一个exception(?),显示所有已提取的errors。
我不确定最好的方法是什么..
1) 我是否应该创建一个对象(自定义错误类)来传递给我的所有函数以存储任何errors?
2) 如果发现错误,我应该向用户返回什么?会是自定义的exception,HTTP status code 还包含JSON 格式的所有错误吗?
我很难找到正确的方法来做到这一点。
【问题讨论】:
-
我倾向于使用继承 Exception 的自定义错误类来存储所有收集到的错误,您的验证调用可以捕获此错误,读取错误列表并返回 @lapinkoira 提到的 json。
标签: python exception-handling flask sqlalchemy