在我的代码中,我正在尝试处理逻辑错误。我想用错误代码退出该程序,如果我执行'Murad'
它会引发一个我不想要的回溯错误。
但是,如果我做Shahmmadli
它不是更清洁的退出。
我的需要:
仅使用sys.exit(1)
退出时只显示错误代码,但需要像os._exit(1)
一样更清晰的退出。
答案 0 :(得分:2)
无论如何使用sys.exit(1)
。 sys.excepthook()
中的标准Python跟踪钩子干净地处理SystemExit
,不打印任何回溯。来自SystemExit
exception documentation:
sys.exit()
函数引发了此异常。当它没有被处理时,Python解释器退出; 没有打印堆栈追溯。
大胆强调我的。
如果您的程序有顶级异常处理程序,请不要抓住SystemExit
。通常你不是使用一揽子except:
语句,而是通过捕捉except Exception:
来做到这一点。