python - 程序要引发的标准 python 异常列表在哪里?

标签 python exception error-handling

有一个列表standard python exceptions我们应该注意,但我认为这些不是我们应该提高自己的,因为它们很少适用。

我很好奇标准 python 库中是否存在列表,但类似于 .NET 的 ApplicationException 的异常(exception)情况除外。 , ArgumentNullException , ArgumentOutOfRangeException , InvalidOperationException ——我们可以自己提出的异常(exception)情况?

或者有没有比引发标准异常不同的、更 Pythonic 的方式来处理常见的错误情况?

编辑:我不是在问如何处理异常,而是我可以并且应该在需要的地方提出什么类型。

最佳答案

如果错误与标准 python 异常类之一的描述相匹配,那么一定要抛出它。

常用的有TypeErrorValueError,你链接的列表已经是标准列表了。

如果你想拥有特定于应用程序的,那么继承 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/

相关文章:

java - Spring 事务管理器(注释样式)运行时错误

javascript - SQLite 和 Javascript : Checking for existence of data before inserting OR letting SQLite throw an exception

error-handling - java/Modbus在jamod中读取响应时出错

python - 合并多个 Pandas 数据框

python - 使用序列化程序从 URL 保存图像

exception - 无法从 PL/SQL 过程中检索错误

php - 既然所有错误都是异常,PHP7 上的 set_error_handler() 会发生什么?

codeigniter - show_404() 中的自定义 View 不起作用

python - 如果我想将模块作为字符串导入,如何使用 from import?

python - Python 中的分位数回归给出与 R 中不同的结果