在 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