Python:try-catch-else 而不处理异常。可能的? [重复]

问题描述 投票:0回答:2

我是 python 新手,想知道是否可以在不处理异常的情况下创建 try-catch-else 语句?

喜欢:

try:
    do_something()
except Exception:
else:
    print("Message: ", line) // complains about that else is not intended
python exception try-catch
2个回答
33
投票

以下示例代码向您展示了如何使用 pass 捕获和忽略异常。

try:
    do_something()
except RuntimeError:
    pass # does nothing
else:
    print("Message: ", line) 

18
投票

虽然我同意 Jochen Ritzel 的答案很好,但我认为其中可能存在一个小疏忽。通过

pass
ing,异常正在被处理,但什么也没做。所以实际上,异常被忽略了。

如果你真的不想处理异常,那么异常应该是

raise
d。以下代码对 Jochen 的代码进行了更改。

try:
    do_something()
except RuntimeError:
    raise #raises the exact error that would have otherwise been raised.
else:
    print("Message: ", line) 
© www.soinside.com 2019 - 2024. All rights reserved.