我是 python 新手,想知道是否可以在不处理异常的情况下创建 try-catch-else 语句?
像:
try:
do_something()
except Exception:
else:
print("Message: ", line) // complains about that else is not intended
以下示例代码向您展示了如何使用 pass 捕获和忽略异常。
try:
do_something()
except RuntimeError:
pass # does nothing
else:
print("Message: ", line)
虽然我同意 Jochen Ritzel 的答案是一个很好的答案,但我认为其中可能存在一个小小的疏忽。通过pass
ing,异常 /is/ 被处理,只是什么都不做。所以真的,这个例外被忽略了。
如果你真的不想处理异常,那么异常应该是raise
d。以下代码对 Jochen 的代码进行了更改。
try:
do_something()
except RuntimeError:
raise #raises the exact error that would have otherwise been raised.
else:
print("Message: ", line)