【问题标题】:Handle Errors & Execute Try Again in Python [duplicate]在 Python 中处理错误并执行重试 [重复]
【发布时间】:2015-10-03 18:25:23
【问题描述】:

在发现错误并由except (AttributeError) 处理后,我正在尝试再次处理我的try 循环。现在,脚本在处理错误后结束,而不是从 try 循环开始。遇到错误后返回try 循环的任何帮助将不胜感激。

try:
    #code
except (AttributeError) as error:
    print (error)

【问题讨论】:

  • 没有“尝试循环”之类的东西
  • @That1Guy 那么try 语句块是什么?
  • 您拥有的是try...except。没有任何循环,它会尝试 try 块中的内容并排除您指定的异常。
  • @That1Guy 有什么方法可以在排除错误后再次遍历try 块?
  • 将所有内容都包装在一个while循环中?

标签: python


【解决方案1】:

您可以创建一个包含所有内容的 while 循环:

while True:
    try:
        #code
        break
    except (AttributeError) as error:
        print (error)

我在 try 语句的末尾添加了一个 break,因为我假设一旦所有 try 代码成功运行,您就会希望该部分完成。

【讨论】:

    【解决方案2】:

    你可以这样做:

    retry = False
    try:
        #code
    except AttributeError as error:
        print error
        retry = True
    finally:
        if retry:
            #code    
    

    【讨论】:

      【解决方案3】:
      while True:
          try:
              #code
          except AttributeError as error:
              print(error)
          else:
              break
      

      只有在 try 块中没有异常时,控制才转到 else 块。 检查这个:https://docs.python.org/2/tutorial/errors.html#handling-exceptions

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-16
        • 1970-01-01
        • 2016-02-20
        • 2012-09-17
        • 1970-01-01
        • 1970-01-01
        • 2013-08-12
        相关资源
        最近更新 更多