Python:如何在处理异常时重新执行当前代码

时间:2014-05-21 09:20:33

标签: python exception-handling

我想写一个示例抓取工具,所以在抓取某些内容时它不会停止,然后我喜欢这样:

def fun(arg0, arg1):
    try:
        pass
    except Exception, e:
        fun(arg0, arg1)

m really want to know, it是个好主意,或者我怎样才能做得更好,谢谢

1 个答案:

答案 0 :(得分:0)

没有函数调用本身 - 这将导致无限递归。

相反,将代码放在循环中。

def func():
   while there_are_things_to_do():

       set_up_for_work()

       try:
           result = do_something_that_might_fail()
       except SomeKnownExeptionType:
           handle_the_exception()
           continue                # Cannot use result, try next work thing

       do_something_with(result)