忽略 Python 中的异常

Vaibhhav Khetarpal 2023年1月30日 2021年10月2日
  1. 在 Python 中的 except 块中使用 pass 语句
  2. 在 Python 中的 except 块中使用 sys.exc_clear() 语句
忽略 Python 中的异常

异常是在引发时会改变程序流程的事件。

异常是由于程序在语法上是正确的,但在执行代码时仍然出错。此错误不会停止程序的执行,而是会更改程序的默认流程。

在 Python 中,我们使用 try...except 块处理异常。本教程将讨论几种忽略异常并继续使用 Python 编写代码的方法。

在 Python 中的 except 块中使用 pass 语句

pass 语句可以被视为 Python 编程中的占位符。它返回一个 NULL 语句,因此不产生任何值。但是,Python 解释器不会忽略 pass 语句,并且我们可以防止在使用该语句的地方出现空代码错误。

当在 try...except 语句中使用 pass 语句时,它只会传递任何错误并且不会改变 Python 程序的流程。

以下代码使用 except 块中的 pass 语句忽略异常并继续执行 Python 中的代码。

try:
    print(hey)
except Exception:
    pass

print("ignored the exception")

上面的代码提供了以下输出。

ignored the exception

尽管此函数在 Python 3 及更高版本中始终有效,但使用 pass 语句被认为是一种糟糕的编程习惯。它没有为程序中可能出现的错误提供解决方案。此外,识别给定程序中的错误要困难得多,因为它忽略了每一个错误。

在 Python 中的 except 块中使用 sys.exc_clear() 语句

在 Python 2 中,解释器会记住最后抛出的异常,而在较新版本的 Python 中则不会发生。因此,Python 3 以后发布的版本不需要 sys.exc_clear() 语句。sys.exc_clear() 语句可用于清除 Python 解释器最后抛出的异常。

以下代码使用 except 块中的 sys.exc_clear() 语句来忽略异常并继续使用 Python 中的代码。

try:
    print(hey)
except Exception:
    sys.exc_clear()

print("ignored the exception")

虽然这两种方式设法使程序运行没有任何错误,但不建议忽略程序中的所有错误。但是,仅忽略特定错误或某些错误是大多数程序员为健康程序所做的做法。

限制在程序中使用 pass 语句和 sys.exc_clear() 语句还提高了程序的可读性和错误识别能力。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相关文章 - Python Exception