有一个列表standard python exceptions我们应该注意,但我认为这些不是我们应该提高自己的,因为它们很少适用。
我很好奇标准 python 库中是否存在列表,但类似于 .NET 的 ApplicationException 的异常(exception)情况除外。 , ArgumentNullException , ArgumentOutOfRangeException , InvalidOperationException ——我们可以自己提出的异常(exception)情况?
或者有没有比引发标准异常不同的、更 Pythonic 的方式来处理常见的错误情况?
编辑:我不是在问如何处理异常,而是我可以并且应该在需要的地方提出什么类型。
最佳答案
如果错误与标准 python 异常类之一的描述相匹配,那么一定要抛出它。
常用的有TypeError
和ValueError
,你链接的列表已经是标准列表了。
如果你想拥有特定于应用程序的,那么继承 Exception 或其后代之一是可行的方法。
引用您从 .NET 中提供的示例
ApplicationException
最接近 RuntimeError
ArgumentNullException
可能是一个 AttributeError
(尝试调用你想要的方法,让 python 引发异常)
AttributeOutOfRange
只是一个更具体的 ValueError
InvalidOperationException
可以是来自 python 标准库的任意数量的大致等效的异常。
基本上,根据 http://docs.python.org/library/exceptions.html 中的描述,选择一个能反射(reflect)您提出的任何错误的错误。页面。
关于python - 程序要引发的标准 python 异常列表在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096087/