当 Python 中出现异常时,我需要停止我的程序。我该如何实施?
问问题
179116 次
6 回答
66
import sys
try:
print("stuff")
except:
sys.exit(1) # exiing with a non zero value is better for returning from an error
于 2009-01-13T13:16:02.897 回答
61
您可以停止捕获异常,或者 - 如果您需要捕获它(进行一些自定义处理),您可以重新引发:
try:
doSomeEvilThing()
except Exception, e:
handleException(e)
raise
请注意,在raise
不传递异常对象的情况下键入会导致原始回溯被保留。通常它比raise e
.
当然——你也可以显式调用
import sys
sys.exit(exitCodeYouFindAppropriate)
这会引发 SystemExit 异常,并且(除非您在某处捕获它)使用指定的退出代码终止您的应用程序。
于 2009-01-13T14:33:53.737 回答
15
如果您不处理异常,它会将调用堆栈向上传播到解释器,然后解释器将显示回溯并退出。IOW:发生异常时,您无需执行任何操作即可使脚本退出。
于 2009-01-13T19:52:52.550 回答
7
import sys
try:
import feedparser
except:
print "Error: Cannot import feedparser.\n"
sys.exit(1)
在这里,我们以状态码 1 退出。输出错误消息、写入日志和清理通常也很有帮助。
于 2009-11-18T22:36:25.213 回答
6
据我所知,如果您的脚本没有捕获到异常,它将被中断。
于 2009-01-13T13:15:53.473 回答
-9
import sys
try:
# your code here
except Exception as err:
print("Error: " + str(err))
sys.exit(50) # whatever non zero exit code
于 2020-08-10T13:52:29.063 回答