异常处理 - python中的ruby重试循环

时间:2015-04-07 04:09:13

标签: python exception resque-retry

如何在ruby中使用

获取异常后在python中重试循环
begin
    a.each do |s|
    end
rescue
      sleep 2
        retry 
end

我将使用睡眠时间,只是在获得激活后重试循环现在我想在python中执行此操作

我知道异常处理的代码

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

如果有任何异常,如何重试循环?        #如果发生任何异常,如何重试循环

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您正在寻找的是递归函数。像,

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

注意这将创建一个无限循环的重试,除非你设置一个限制器,就像我注释掉的那样。