[英]Trapping an error in python
我正在尝试捕获错误,并让代码完成运行。 在下面的代码中,我“做某事”。 如果失败,我要打印错误消息并继续运行下半年。
发生的是,当第一部分发生错误时,错误语句将打印并停止运行。 我希望代码继续通过第一部分。
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的例外没有内置的重新启动功能来“继续运行下半部分”。 取而代之的是,您只需要将“无条件的,始终执行此操作”部分移出最终判决子句,移至最终最终子句或完全不包含在尝试陈述中。
PS:通常不明智的做法是仅用一条例外条款就吞下所有例外情况。 相反,通常的最佳实践是仅捕获您知道如何处理的异常。
您能以编程方式确定“某事是否失败”吗? 如果是这样,那将是一个更好的方法,而不是仅仅依靠异常处理机制。 我在.net代码中经常看到这种反模式。 在许多语言中,异常都是针对异常情况而设计的,而不仅仅是错误处理。
保持答案只是为了为那些可能像我一样思考的人保留评论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.