我正在开发用于Jupyter Notebooks的Python软件包。也可以通过python模块脚本来访问它,但是Jupyter Notebook是我瞄准的接口。但是,在Jupyter笔记本电脑中,错误的处理非常丑陋,因为没有简单的方法在每个单元中设置try-catch机制。
因此,我正在考虑用Jupyter笔记本的简单打印语句代替所有例外提出的问题,而将非Jupyter环境(例如Spyder)的标准例外问题替换掉。为此,我需要在Python包中设置一些全局变量,这是可行的。因此,用户仅会得到一个礼貌的错误,而不是带有显示错误行的Python错误报告的列表。
有人对更好的方法有什么建议吗?
答案 0 :(得分:1)
请查看警告包。
import warnings
warnings.warn("deprecated", DeprecationWarning)
它还支持其他警告类型,例如Runtimewarning
,Futurewarning
等。
https://docs.python.org/3/library/warnings.html
修改
您可以使用异常钩子并限制回溯,而可以使用warnings
软件包打印警告。
请参阅此StackOverflow帖子 Hide traceback unless a debug flag is set