1
在我的代码中,我试图处理一个逻辑错误。我想用一个错误代码退出程序,如果我执行sys.exit(1)
它会引发一个我不想要的追踪错误。 但是,如果我做os._exit(1)
它不是清洁剂出口。Python在逻辑错误上退出
我的需求: 与os
退出只是错误代码,但需要一个更清洁的出口像sys
。
在我的代码中,我试图处理一个逻辑错误。我想用一个错误代码退出程序,如果我执行sys.exit(1)
它会引发一个我不想要的追踪错误。 但是,如果我做os._exit(1)
它不是清洁剂出口。Python在逻辑错误上退出
我的需求: 与os
退出只是错误代码,但需要一个更清洁的出口像sys
。
使用sys.exit(1)
无论如何。 sys.excepthook()
中的标准Python回溯挂钩完全处理SystemExit
,不会打印回溯。来自SystemExit
exception documentation:
这个例外是由
sys.exit()
函数引发的。当它不被处理时,Python解释器退出; 没有堆栈回溯打印。
大胆重视我的。
如果你的程序有一个顶级异常处理程序,不要抓住SystemExit
。通常你通过不使用毯子except:
声明来做到这一点,而是通过捕获except Exception:
来代替。