在 Python 中没有 except 的 try 语句
Samyak Jain
2021年10月2日
Python 中的异常是在代码执行过程中检测到的错误。不同类型的异常有 NameError
、TypeError
、ZeroDivisionError
、OSError
等等。
Python 中的 try
语句用于测试代码块的异常,而 except
语句用于处理这些异常。当 try
块中的代码引发错误时,将执行 except
块中的代码。
我们可以捕获所有异常,包括 KeyboardInterrupt
、SystemExit
和 GeneratorExit
。这种方法不应该用于处理异常,因为它是一个通用语句,会隐藏所有琐碎的错误。
我们将讨论如何在 Python 中使用没有 except
的 try
块。为了实现这一点,我们应该尝试忽略异常。
我们不能在没有 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
。