我有一套复杂的条件,一旦满足,我想退出。
为此,我想在它们周围使用try: / except:
结构在正确的时间退出,这类似于goto
。一个复杂的例子(使用raise
中的break
到while
)将是:
class Minor(Exception):
pass
class Major(Exception):
pass
age = 15
while True:
try:
if age > 18:
raise Major
else:
raise Minor
except Major:
print('major')
break
except Minor:
print('minor')
break
这样使用pythonic例外吗?换句话说:是否只是为了捕获本来就是Traceback的例外情况,或者它们是否具有如上所述的一般用途?
编辑:以下评论,我想澄清一点,我不是在考虑如何简化这段特定代码 - 实际代码与嵌套循环和条件相比要复杂得多。 我感兴趣的部分是否有理由特别阻止使用例外。