在python中制作大量异常的最佳方法

时间:2016-11-14 20:27:04

标签: python exception

我正在编写验收测试,希望在我的测试工具中有与产品匹配的例外,同时仍将其视为黑盒子。

所以我有> 100个error_codes,格式是这样的。

_error_codes = {
    'BAD_NUMBER_FORMAT': 10001,
    'ANOTHER_ONE': 10010,
    'A_BILLION_MORE': 1000000
}

我可以在字典中用简单的东西创建许多异常:

error_classes = {}

for error in _error_codes:
    the_error = camelize(error.lower()) + 'Error'
    docstring = "A {0} {1} Product_name error.".format(_error_codes[error], error)
    cls_dict = {'__doc__': docstring}
    error_classes[the_error] = (type(the_error, (MyBaseError,), cls_dict))

有了这个,我将不得不用字典中的键来捕获异常。即 except error_classes['AnotherOneError']:

这是一种pythonic方式吗?我应该从_error_codes生成每个类的静态文件吗?

0 个答案:

没有答案