2015-04-07 135 views
0

如何獲得紅寶石的異常後重試Python中的循環紅寶石重試循環u使用異常處理 - 在python

begin 
    a.each do |s| 
    end 
rescue 
     sleep 2 
     retry 
end 

我將使用的睡眠時間,只是使用重試循環現在我想越來越錯誤時拋出後要做到這一點在Python

我知道異常處理

try: 
    for i in w: 
    #Loop code 
exception e: 

如何重試循環,如果有任何異常的代碼?如果有異常發生

回答

0

#如何重試循環,你可以創建一個函數,並調用它:

def my_func(): 
    try: 
     for i in w: 
      #Loop code 
    except: 
     # here take care of exception, try to fix it, when it occurs 
     my_funct() 

,如果你不想重新開始:

try: 
    for i in w: 
     #Loop code 
    except: 
     # here take care of exception, try to fix it, when it occurs 
+0

讓循環正在處理在1400陣列如果錯誤發生功能將從第0陣列權開始...而是我想重試該特定數組循環(1400) – Mounarajan

+0

這就是爲什麼在評論中我說照顧異常和修理它 – Hackaholic

0

它所看起來你的需求是一個遞歸函數。喜歡的東西,

# retries = 3 
def do(x): 
    try: 
     y = something(x) 
    except Exception as err: 
     # while retries > 0: 
     # retries -= 1 
      do(x)  
    else: 
     print(y) 

注意,除非你以某種方式設置限制器像我註釋掉這將創建重試無限循環。