如何在Python中在一个except块中引发异常并在后面的except块中捕获它?


try块中只调用一个except子句。如果你希望异常在更高层级被捕获,那么你需要使用嵌套try块。

我们编写类似这样的2个try...except块

try:
try:
1/0
except ArithmeticError as e:
if str(e) == "Zero division":
print ("thumbs up")
else:
raise
except Exception as err:
print ("thumbs down")
raise err

我们得到以下输出

thumbs down
Traceback (most recent call last):
File "C:/Users/TutorialsPoint1/~.py", line 11, in <module>
raise err
File "C:/Users/TutorialsPoint1/~.py", line 3, in <module>
1/0
ZeroDivisionError: division by zero

按照python教程,对于一个try语句,有一个且只有一个被捕获或被捕获的异常。

更新于: 2019年9月27日

242次浏览

职业生涯即将开始

通过完成课程来获得认证

开始
广告