Python 如何编写一个可以捕获所有Python异常的try/except块?
通常情况下,虽然您可以使用以下代码捕获所有异常,但您不应该这样做:
try:
#执行某些操作()
except:
print "捕获异常!"
但是,这也会捕获我们可能不感兴趣的KeyboardInterrupt异常。除非您立即重新引发异常 – 我们将无法捕获这些异常:
try:
f = open('file.txt')
s = f.readline()
i = int(s.strip())
except IOError as (errno, strerror):
print "I/O错误({0}): {1}".format(errno,strerror)
except ValueError:
print "无法将数据转换为整数。"
except:
print "意外错误:",sys.exc_info()[0]
raise
如果文件.txt与脚本位于同一文件夹中,则会得到以下输出。
I/O错误(2):没有那个文件或目录
阅读更多:Python 教程
极客教程