如何在Python中在一个 except 块中引发异常并在后面的 except 块中捕获它?
只有在 try 块中的单个 except 子句被调用。如果你想要异常在更高层被捕获,那么你需要使用嵌套的 try 块。
让我们写两个 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 语句只有一个被捕获的异常。
阅读更多:Python 教程