python - 确保在 Python 中捕获所有异常

标签 python exception

我使用 Python 编程已有一段时间了,但我的工作主要是创建小型实用程序脚本。我认为 Python 是一种很棒的语言,因为它很有趣,而且可以轻松编写干净的代码。

但是,有一个烦恼我还没有找到解决办法:由于它的动态特性,可能会从各种来源抛出异常,如果它们没有被捕获,它们将杀死您的程序。对我来说,这对“大型”程序来说是一种痛苦。

在 Java 中(并不是说我比 Python 更了解 Java),编译器实际上静态地强制执行异常处理,以便捕获所有可能的异常。是否可以使用 Python 实现相同的目的?

最佳答案

您可以使用简单的 except: 语句捕获所有异常。但这被认为是危险的,因为这也包括语法错误。

最佳实践是用一个 except 子句涵盖所有可能的和预期的异常类型。考虑以下示例:

except (IOError, ArgumentError), e:
    print(e)

此示例捕获了两个预期的异常,所有其他异常都将失败并写入 stderr

关于python - 确保在 Python 中捕获所有异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6817342/

相关文章:

python - OOWrite 对于 LaTeX 就像 OODraw 一样?

python - AppEngine 功能在本地开发服务器上工作,但在实时网络服务器上不工作

python - 如何获取类成员的类型注释?

exception - Grails GORM关联未映射异常

c# - DataContext.CreateDatabase() 说文件已经存在 - 但它不存在

c# - 尝试复制另一个进程拥有的文件会导致 DirectoryNotFoundException 吗?

Python _ValueError : invalid literal for int() with base 10: _very weird

python - 线程的 Django 全局数据

c# - 如果在 List<T>.ForEach 中抛出异常,迭代是否停止?

c# - ASP.Net MVC - 如何处理 JSON 操作中的异常(返回 JSON 错误信息),同时发布过滤器的异常?