python退出并在代码中显示消息和位置

red*_*ger 1 python

在一个(相当大的)代码中,我在几个地方进行了检查,如果其中一个失败,我希望程序退出。到目前为止,我通常使用sys.exit()括号内带有文本的函数,例如

sys.exit('some text')

但是,我还想提供一些确切退出发生的信息,我不想手动执行此操作。周围有一些优雅的解决方案吗?

Elm*_*lmo 5

通常而不是sys.exit('text with reason')你会引发一个异常,如:

raise Exception('text with reason')
Run Code Online (Sandbox Code Playgroud)

您将获得开箱即用的回溯,显示问题的确切位置。
如果fail您提到的意味着抛出异常,那就更好了。那你就不用自己养了。只是不要捕捉原始异常,你很好。