如何用Python编写代码来捕获所有异常?
- 内容介绍
- 文章标签
- 相关推荐
本文共计596个文字,预计阅读时间需要3分钟。
问题+如何捕获代码中的所有异常+解决方案+想要捕获所有异常,可以直接捕获Exception异常即可:+try:+...+except+Exception+as+e:+...+log('Reason:', e)+
问题
怎样捕获代码中的所有异常?
解决方案
想要捕获所有的异常,可以直接捕获 Exception 即可:
try: ... except Exception as e: ... log('Reason:', e) # Important!
这个将会捕获除了 SystemExit 、 KeyboardInterrupt 和 GeneratorExit 之外的所有异常。 如果你还想捕获这三个异常,将 Exception 改成 BaseException 即可。
讨论
捕获所有异常通常是由于程序员在某些复杂操作中并不能记住所有可能的异常。 如果你不是很细心的人,这也是编写不易调试代码的一个简单方法。
正因如此,如果你选择捕获所有异常,那么在某个地方(比如日志文件、打印异常到屏幕)打印确切原因就比较重要了。
本文共计596个文字,预计阅读时间需要3分钟。
问题+如何捕获代码中的所有异常+解决方案+想要捕获所有异常,可以直接捕获Exception异常即可:+try:+...+except+Exception+as+e:+...+log('Reason:', e)+
问题
怎样捕获代码中的所有异常?
解决方案
想要捕获所有的异常,可以直接捕获 Exception 即可:
try: ... except Exception as e: ... log('Reason:', e) # Important!
这个将会捕获除了 SystemExit 、 KeyboardInterrupt 和 GeneratorExit 之外的所有异常。 如果你还想捕获这三个异常,将 Exception 改成 BaseException 即可。
讨论
捕获所有异常通常是由于程序员在某些复杂操作中并不能记住所有可能的异常。 如果你不是很细心的人,这也是编写不易调试代码的一个简单方法。
正因如此,如果你选择捕获所有异常,那么在某个地方(比如日志文件、打印异常到屏幕)打印确切原因就比较重要了。

