for i in range(1,1000):
try:
x = some_crazy_function(my_parm(i))
if x in massive:
raise Exception()
massive.append(x)
x = dict(qnother_crazy_functionsl(x.replace('X','Y')))
x = new_func(x['constant'])[0]
next.append(x)
except:
break
我是python的新手,我在维护其他人的代码的同时越过了这个片段
对我来说,这似乎是退出循环的可怕方法。
它是在python中进行编码的公认方法吗,我会习惯它还是看起来很糟糕?
最佳答案
在最简单的情况下,break
是打破循环的最好(也是最简单)的方法:
if x in massive:
break
但是,如果抛出和捕获异常更适合您的用例,则建议您首先定义自己的用户定义的Exception类:
class MassiveException(Exception):
pass
接下来,您可以像这样抛出它:
if x in massive:
raise MassiveException()
因此,可以像这样捕获它:
except MassiveException:
... # do something here
这样比较好,因为它可以使您的意图清晰明了,并且摆脱了所有可能的障碍,但是这会吞下您确实不想吞咽的其他异常。
关于python - 这是引发异常的正确方法吗? ( python ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45449635/