【发布时间】:2014-11-09 01:24:57
【问题描述】:
在我的代码中,我想在异常发生时捕获它,将一些与异常相关的信息打印到屏幕上,然后在我完成后结束脚本。我尝试使用与以下代码等效的东西,但我不明白为什么会得到我所做的回溯。
执行时:
try:
1 / 0
except ZeroDivisionError:
print("Exception: ZeroDivisionError")
raise Exception
控制台显示:
Exception: ZeroDivisionError
Traceback (most recent call last):
File "<pyshell#19>", line 2, in <module>
1 / 0
ZeroDivisionError: division by zero
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#19>", line 5, in <module>
raise Exception
Exception
我认为如果我抓住ZeroDivisionError,它将不再被提升,唯一会显示的是我最后做的raise Exception,但两者都显示在控制台中。
为什么它们都显示,以及如何更改代码以便只显示第二个,或者有更好的方法来实现我想要的?
【问题讨论】:
标签: python exception python-3.x exception-handling try-catch