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

这可以通过以下代码来完成

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()

这清除了最后抛出的异常