除了在使用时我的输出上会出现错误打印这一事实之外,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 回答