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

pythonserver side programmingprogramming更新于 2025/12/27 0:12:17

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 语句有且仅有一个捕获到的异常。


相关文章


有用资源