您如何正确忽略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()
这清除了最后抛出的异常