捕获python中的错误

捕获python中的错误,python,error-handling,Python,Error Handling,我试图捕获错误并让代码完成运行。 在下面的代码中,我做了一些事情。如果失败,我想打印错误消息 继续跑下半场 发生的情况是,当第一部分出错时,错误语句将被打印和删除 停止跑步。我希望代码能够一直运行到第一部分 if len(rows) > 0: try: print "Do something" except: print time

我试图捕获错误并让代码完成运行。 在下面的代码中,我做了一些事情。如果失败,我想打印错误消息 继续跑下半场

发生的情况是,当第一部分出错时,错误语句将被打印和删除 停止跑步。我希望代码能够一直运行到第一部分

  if len(rows) > 0:
            try:                
                print "Do something"       
            except:
                print time.strftime("%H:%M:%S")  

            try:
                print "Do somethings else"
            except:
                print time.strftime("%H:%M:%S")  

Python的异常没有内置的重启功能来继续运行下半年。相反,您只需要将无条件、始终执行这一部分从try子句移出,放入finally子句或try语句之外


另外,用一个简单的例外条款吞并所有例外情况通常是不明智的。相反,通常的最佳实践是只捕获您知道如何处理的异常。

Python的异常没有内置的重新启动功能,无法继续运行下半部分。相反,您只需要将无条件、始终执行这一部分从try子句移出,放入finally子句或try语句之外

另外,用一个简单的例外条款吞并所有例外情况通常是不明智的。相反,通常的最佳实践是只捕获您知道如何处理的异常。

您能否通过编程确定“做某事”是否失败?如果是这样的话,这是一种更好的方法,而不仅仅是依赖异常处理机制。我在.net代码中经常看到这种反模式。在许多语言中,异常都是针对异常情况的,而不仅仅是错误处理

保留答案只是为了为那些可能会像我一样思考的人保留评论。

您能否通过编程确定“做点什么”是否失败?如果是这样的话,这是一种更好的方法,而不仅仅是依赖异常处理机制。我在.net代码中经常看到这种反模式。在许多语言中,异常都是针对异常情况的,而不仅仅是错误处理


保留答案只是为了给那些可能会像我一样思考的人保留评论。

例外情况只是为了例外规则,这适用于其他语言。在Python中,异常通常用于控制流。有效的一点是,经过一些研究,我了解了您的推理。然而,我觉得很奇怪。写了一篇关于为什么它是其他语言中的规则的文章,并指出了为什么python中的控制流使用异常。这些异常只是因为例外规则适用于其他语言。在Python中,异常通常用于控制流。有效的一点是,经过一些研究,我了解了您的推理。然而,我觉得很奇怪。写了一篇关于为什么它是其他语言中的规则的文章,并指出了为什么python中的控制流使用异常。