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


可以通过遵循以下代码来完成此操作

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

或者

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


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

以上代码的不同之处在于,第一个也会捕获直接派生自 exceptions.BaseException(而不是 exceptions.Exception)的 KeyboardInterrupt、SystemExit 等异常。

已知 Python 中会记住最后抛出的异常,某些参与抛出异常语句的对象会一直保留到下一个异常之前。我们可能希望执行以下操作,而不是仅仅传递

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

这会清除最后抛出的异常

已更新: 27-9-2019

522 次浏览

启动您的 职业

通过完成课程获得认证

开始
广告
© . All rights reserved.