绕过错误并继续代码
3 个回答
1
把你希望在没有发生错误的情况下执行的内容放到一个else
块里:
try:
assert False
except AssertionError:
print "error"
else:
print "no error"
3
你可以使用 finally
:
try:
assert False
print "Hello"
except AssertionError:
pass
finally:
print "This prints no matter what"
This prints no matter what
如果你想在没有发生错误的情况下执行一段代码,可以使用 try except else
这个结构。
4
我觉得你可能做不到,而且也不应该这样做。
错误不应该悄悄溜走。
除非你明确地让它们安静。Python的哲学
这意味着作为程序员,你有责任去思考错误可能在哪里出现,以及为什么会出现。你应该(其实是必须)避免把一大段代码放在一个try
语句里,然后再考虑错误。正确的思考流程是:
- 写下
assert False
- 注意到这可能会引发一个AssertionError(断言错误)
- 把
assert False
放在一个try...except...
块里 - 写下
print 'Hello'
- 注意到这一行不会引发任何错误(顺便说一下,这可是著名的最后一句话)
- 获利
所以你的代码应该像这样(其他答案也很不错):
try:
assert False
except AssertionError:
pass
print 'Hello'