一般最規規矩矩的做法是這樣:
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...