如果被调用的方法引发异常,我想继续循环。这是一个简单的示例,我的实际代码非常复杂,并且不想在所有调用的方法中进行错误处理。

list_of_lists = [['hammerhead', 'great white', 'dogfish'],[0, 1, 2],[9.9, 8.8, 7.7]]

def parse(item):
    item / 1

for list in list_of_lists:
    for item in list:
        try:
            parse(item)
        except ValueError:
            break


一旦命中了parse方法,就会引发异常。我希望有一种方法,它可以继续进行下去。 (外循环)

最佳答案

在这种情况下,您尝试将一个字符串除以一个引发TypeError而不是ValueError的整数,这就是为什么您的代码引发错误的原因。
如果要捕获所有可能的错误,可以执行以下操作:

try:
    parse(item)
except:
    break


但我不建议这样做,因为在您的情况下,似乎有很多复杂的函数会引发许多不同的错误,最好不要捕获所有错误,因为您可能会错过一个重要的错误。
我建议您只运行几次代码以找出所有可能的错误,并对每个错误都有一个特定的陷阱,以确保不会出现您没有预料到的无关错误

关于python - 调用方法的Python错误处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51086773/

10-15 01:34
查看更多