异常处理 - 在python

问题描述:

如何获得红宝石的异常后重试Python中的循环红宝石重试循环u使用异常处理 - 在python

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

我将使用的睡眠时间,只是使用重试循环现在我想越来越错误时抛出后要做到这一点在Python

我知道异常处理

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

如何重试循环,如果有任何异常的代码?如果有异常发生

#如何重试循环,你可以创建一个函数,并调用它:

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

它所看起来你的需求是一个递归函数。喜欢的东西,

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

注意,除非你以某种方式设置限制器像我注释掉这将创建重试无限循环。