如何正确忽略 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 派生的 KeyboardInterrupt、SystemExit 等,而不是 exceptions.Exception。

众所周知,最后一个抛出的异常在 Python 中被记住,一些涉及异常抛出语句的对象将保留到下一个异常出现之前。我们可能想要执行以下操作,而不是仅仅传递

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

这将清除最后抛出的异常

更新于:2019 年 9 月 27 日

522 次浏览

职业生涯开端

完成课程后获得认证

入门
广告