定义错误消息和错误代码列表

tam*_*are 2 python exception

我想创建一个List错误消息和相应错误代码的列表(不暗示 Python )。我有两个要求 -能够在给定错误代码的情况下查找错误消息能够执行相反的查找

  1. 是否有可以实现此目的的本机 python 数据类型?如果没有,我应该如何实施?
  2. 自定义异常类 BusinessRuleViolation 将使用此错误消息 + 代码列表。我希望此列表与 BusinessRuleViolation 相关联,并且不应在运行时修改。我怎样才能做到这一点?

Amb*_*ber 5

通常,您会使用一对dicts 来执行此操作- 一个将错误代码映射到消息,然后另一个(通常以编程方式生成)使用反向映射。

error_codes_to_messages = {
   1: 'foo',
   2: 'bar',
   3: 'baz',
}

error_messages_to_codes = dict(
    (v,k) for k,v in error_codes_to_messages.iteritems()
)
Run Code Online (Sandbox Code Playgroud)

然后您可以使用以下方法进行查找[]

print error_codes_to_messages[2]
print error_messages_to_codes['foo']
Run Code Online (Sandbox Code Playgroud)