我查看了python内置的异常,唯一看起来很接近的是ValueError.
来自python文档:
exception ValueError: 当内置操作或函数接收到具有正确类型但值不合适的参数的情况时引发,并且情况不会由更准确的异常(如IndexError)描述.
我应该创建ValueError的子类,如InvalidFormatException吗?
(我的具体情况是,如果罗马数字字符串格式不正确,但还有许多其他适用的情况.)
编辑:似乎ValueError是正确的选择,现在的问题是直接使用ValueError还是将其子类化.
ValueError对于你的情况来说,这是一个很好的匹配.只需使用它并记住您可以将有用的消息指定为参数,以便将其与其他类型的ValueError区分开来.
但是,我不会通过定义子类使代码更复杂,除非我有充分的理由想要捕获该特定错误但是避免捕获任何其他ValueErrors.许多应用程序都有许多"特殊"错误条件,但如果它们也定义了每个案例的子类,代码很快就会变得无法维护,任何试图使用这些例程的人都会对意外的新异常感到惊讶.
| 归档时间: |
|
| 查看次数: |
4757 次 |
| 最近记录: |