Python 異常被我壓下來了 suppress 用法
分類
建立時間: 2023年2月20日 21:05
更新時間: 2023年2月20日 21:05
說明
正常情況下大家寫程式遇到異常通常是捕捉下來處理 try … catch …,但這次我要分享如何把異常壓下來,壓下來意思就是大事化小,小事化無的道理。
範例
當你使用 suppress
時,如果在 with
塊中遇到被指定的異常類型,這些異常將會被忽略,而其他異常仍然會傳播到上一級的代碼中。
example.py
from contextlib import suppress
def divide(a, b):
with suppress(ZeroDivisionError):
result = a / b
print(f"{a} / {b} = {result}")
divide(10, 2)
divide(10, 0)
divide(5, 1)
輸出
10 / 2 = 5.0
5 / 1 = 5.0
在這個例子中,divide
函數用來計算 a
除以 b
的結果,當 b
為0時,會發生 ZeroDivisionError
異常。我們在函數內使用 with suppress(ZeroDivisionError)
來捕獲這個異常,當這個異常發生時,程式碼不會中斷,而是忽略這個異常,繼續執行下去。
在這個例子中,第二次 divide
函數呼叫發生了 ZeroDivisionError
異常,但是由於我們在函數中使用了 suppress
,所以這個異常被忽略了,程式碼繼續執行下去,並且成功輸出了其他兩個除法運算的結果。
觀看次數: 1293
exceptionpythonsuppress
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!