5

除了在使用时我的输出上会出现错误打印这一事实之外,exit()还有什么区别吗?raise ValueError("example")raise ValueError("example")

4

1 回答 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 回答