除了在使用时我的输出上会出现错误打印这一事实之外,exit()
还有什么区别吗?raise ValueError("example")
raise ValueError("example")
问问题
1774 次
1 回答
7
这是个很大的差异。
sys.exit()
引发SystemExit
异常,Python 总是捕获并转换为程序退出代码。
如果未捕获Raising ValueError
,则会触发sys.excepthook()
处理程序,之后 Python 退出。默认的 except 挂钩将异常的回溯打印到stderr
,之后 Python 以退出代码 1 退出。
该sys.excepthook()
函数永远不会被调用SystemExit
,因此您无法自定义该异常的处理,但您可以处理ValueError
和其他异常的处理。
于 2013-09-27T09:21:27.697 回答