在 Python 中沒有 except 的 try 語句

Samyak Jain 2021年10月2日
在 Python 中沒有 except 的 try 語句

Python 中的異常是在程式碼執行過程中檢測到的錯誤。不同型別的異常有 NameErrorTypeErrorZeroDivisionErrorOSError 等等。

Python 中的 try 語句用於測試程式碼塊的異常,而 except 語句用於處理這些異常。當 try 塊中的程式碼引發錯誤時,將執行 except 塊中的程式碼。

我們可以捕獲所有異常,包括 KeyboardInterruptSystemExitGeneratorExit。這種方法不應該用於處理異常,因為它是一個通用語句,會隱藏所有瑣碎的錯誤。

我們將討論如何在 Python 中使用沒有 excepttry 塊。為了實現這一點,我們應該嘗試忽略異常。

我們不能在沒有 except 的情況下使用 try 塊,因此,我們唯一能做的就是嘗試忽略引發的異常,以便程式碼不會進入 except 塊並在 except 中指定 pass 語句 如前所示阻止。pass 語句相當於一行空程式碼。

我們也可以使用 finally 塊。無論是否發生異常,它都會執行程式碼。

try:
    a = 1/0
except:
    pass
finally:
    print("Example")

輸出:

Example

在上面的程式碼中,如果 try 塊引發錯誤,except 塊將列印引發的異常。

要忽略異常,我們可以使用 contextlib 模組中的 suppress() 函式來處理 Python 中的異常

contextlib 模組中的 suppress() 函式可用於抑制非常具體的錯誤。此方法只能在 Python 3 中使用。

例如,

from contextlib import suppress

with suppress(IndexError):
    a = [1,2,3]
    a[3]

在上面的例子中,它不會引發 IndexError

相關文章 - Python Exception