如何在 Python 中在一个异常块中引发异常,并在后续异常块中捕获它?


try 块中只会调用一条异常语句。如果希望在更高处捕获异常,就需要使用嵌套的 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-09-27

242 次浏览

开启你的 职业生涯

完成课程,获得认证

开始
广告