忽略 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 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