0
我試圖每次出現錯誤時重新運行try-except循環,並且只有在沒有錯誤時才中斷。Python:重新運行嘗試除了循環
loop = True;
while loop == True:
try:
for i in data_names:
#do something
except Exception, e:
e = str(e)[0:100];
parse_error_list.append(str(e)[str(e).rindex(':')+2:str(e).rindex(':')+4]);
if len(e) == 0:
loop = False;
作爲一個全面的檢查,將下面讓我退出循環當且僅當沒有錯誤?
編輯:答案是?如果是這樣,這是最有效的實施? ...
loop = True;
while loop:
try:
for i in data_names:
#do something
except Exception, e:
e = str(e)[0:100];
parse_error_list.append(str(e)[str(e).rindex(':')+2:str(e).rindex(':')+4]);
if e:
loop = False;
壓痕似乎搞砸了。你能否修正代碼中的縮進? –
我能看到的唯一的中斷條件是,如果異常的字符串表示是0長度的;即從不。另外使用* actual *'break'是一個更好的方式來打破循環,而不是指定一個變量來爲你做。 – roippi
像下面這樣? 嘗試: for data_names: #do except exception,e: e = str(e)[0:100]; (str)(e)[str(e).rindex(':')+ 2:str(e).rindex(':')+ 4]); 休息;爲什麼len(e)== 0沒有錯誤會打破循環? – Black