我需要在Python中引发异常时停止我的程序.我该如何实现?
您可以停止捕获异常,或者 - 如果您需要捕获它(进行一些自定义处理),您可以重新加注:
try: doSomeEvilThing() except Exception, e: handleException(e) raise
请注意,在raise
不传递异常对象的情况下键入会导致保留原始回溯.通常它比它好得多raise e
.
当然 - 你也可以明确地打电话
import sys sys.exit(exitCodeYouFindAppropriate)
这会导致引发SystemExit异常,并且(除非您在某处捕获它)使用指定的退出代码终止您的应用程序.
import sys try: print("stuff") except: sys.exit(1) # exiing with a non zero value is better for returning from an error
如果您不处理异常,它将向上传播调用堆栈到解释器,然后解释器将显示回溯并退出.IOW:当发生异常时,您无需执行任何操作来使脚本退出.
据我所知,如果您的脚本未捕获到异常,它将被中断。
import sys try: import feedparser except: print "Error: Cannot import feedparser.\n" sys.exit(1)
这里我们以状态代码1退出.输出错误消息,写入日志和清理通常也很有帮助.