如何在 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 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.