一般最规规矩矩的做法是这样:
break_flag = False
for i in range(10):
print("first level")
for j in range(10):
print("----second level")
for k in range(10):
print("--------third level")
if j == 2 and k == 3:
break_flag = True
break # 跳出最内层循环,继续向下运行
if break_flag:
break # 满足条件,运行break跳出第二层循环,向下运行
if break_flag:
break # 满足条件,运行break跳出第一层循环,结束全部循环,向下运行
print("keep going...")
当然也可以这么搞:
class CustomError(Exception):
def __init__(self, ErrorInfo):
self.info = ErrorInfo
def __str__(self):
return self.info
try:
for i in range(10):
print("first level")
for j in range(10):
print("----second level")
for k in range(10):
print("--------third level")
if j == 2 and k == 3:
raise CustomError("I am going...")
except CustomError as e:
pass
print("keep going...")
运行结果都是一样的:
first level
----second level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
----second level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
--------third level
----second level
--------third level
--------third level
--------third level
--------third level
keep going...