【发布时间】:2015-08-31 07:22:27
【问题描述】:
有没有一种简洁的方法可以在 try 块中添加多个命令,以便它基本上尝试每一行而不会在一个命令产生错误时立即停止?
基本上我想替换这个:
try:
command1
except:
pass
try:
command2
except:
pass
try:
command3
except:
pass
用这个:
try all lines:
command1
command2
command3
except:
pass
定义一个列表以便我可以遍历命令似乎是一个糟糕的解决方案
【问题讨论】:
-
您可以创建一个单独的函数来分别调用每个命令并在其中处理异常处理。
-
相同问题的答案在这里:stackoverflow.com/questions/13874666/…
-
@Plug4 不是重复的;如果链中的前一个命令失败,该问题只希望执行后续命令。询问者想要执行后续命令,而不管前面的命令是成功还是失败。
-
@ColonelThirtyTwo 我的错!它是不同的。好点
-
列出要执行的函数并循环遍历它们是一个 ok 解决方案......也许它看起来很糟糕的原因是因为它在某种程度上是一种反模式只需从整个代码块中抛出异常。如果
command2需要command1的结果,而command1抛出异常怎么办?也许您可以更详细地描述这些命令的作用,以便我们可以评论在这里大规模忽略异常是否有意义。