这是我之前遇到的一个简单问题。本质上,像这样的解决方案 https://stackoverflow.com/questions/574730/python-how-to-ignore-an-exception-and-proceed and this https://stackoverflow.com/questions/730764/try-except-in-python-how-to-properly-ignore-exceptions?lq=1“忽略”异常确实没有。即使它们不再使 python 崩溃,它们仍然会停止初始 try 子句中的任何代码。
try:
assert False
print "hello"
except AssertionError:
pass
这段代码将not打印“hello”,而是跳过它,转到pass。我的问题是,有没有一种简单的方法可以在 Python 2.7 中真正忽略这一点?我读到了 3.4 中发生的一些事情以使这变得更容易,但我宁愿继续使用 python 2.7。
我不认为你可以,也不认为你应该这样做。
错误永远不应该悄无声息地过去。
除非明确沉默。
Python之禅
这意味着作为程序员,您有责任思考异常可能在何处以及为何出现。你应该(实际上必须)避免将很长的代码块放在一个try
声明,然后考虑例外情况。正确的思路是:
- Write
assert False
- 请注意,它might引发断言错误
- Put
assert False
in a try...except...
block
- Write
print 'Hello'
- 请注意,这一行不会导致任何错误(顺便说一下,著名的最后一句话)
- Profit
所以你的代码应该是这样的(其他答案也很好):
try:
assert False
except AssertionError:
pass
print 'Hello'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)