如何正确忽略 Python 中的异常?

pythonserver side programmingprogramming更新于 2025/12/24 1:48:17

这可以通过以下代码完成

try:
x,y =7,0
z = x/y
except:
pass

或

try:
x,y =7,0
z = x/y
except Exception:
pass


这些代码绕过 try 语句中的异常并忽略 except 子句,不会引发任何异常。

上述代码的不同之处在于,第一个代码还会捕获 KeyboardInterrupt、SystemExit 等,它们直接派生自 exceptions.BaseException,而不是 exceptions.Exception。

众所周知,Python 会记住最后抛出的异常,异常抛出语句中涉及的一些对象将保持活动状态,直到下一个异常。我们可能想要执行以下操作而不是直接传递:

try:
x,y =7,0
z = x/y
except Exception:
sys.exc_clear()

这将清除最后抛出的异常


相关文章


有用资源