【发布时间】:2018-10-03 21:28:52
【问题描述】:
我进行 API 调用,如果出现问题,它们会返回错误列表:例如
[
{'field': u'currency', 'message': 'must be USD',
'request_pointer': '/customer_bank_accounts/currency'},
{'field': 'iban', 'message': 'is invalid',
'request_pointer': u'/customer_bank_accounts/iban'}]
我想向用户返回一个错误并确定错误的优先级。错误可以按任何顺序出现。
我知道我可以抛出整个列表来寻找第一个错误,例如
for error in errors:
if error['message'] == 'is invalid' and error['field'] == 'iban'
return "error message 1"
for error in errors:
if error['message'] == 'is invalid' and error['field'] == 'country code'
return "error message 2"
但这是丑陋的代码,需要多次遍历列表。有没有更好的方法?
【问题讨论】:
标签: python list dictionary error-handling