针对Jupyter Notebooks的Python软件包中的错误处理

时间:2019-11-23 15:14:05

标签: python exception jupyter-notebook jupyter

我正在开发用于Jupyter Notebooks的Python软件包。也可以通过python模块脚本来访问它,但是Jupyter Notebook是我瞄准的接口。但是,在Jupyter笔记本电脑中,错误的处理非常丑陋,因为没有简单的方法在每个单元中设置try-catch机制。

因此,我正在考虑用Jupyter笔记本的简单打印语句代替所有例外提出的问题,而将非Jupyter环境(例如Spyder)的标准例外问题替换掉。为此,我需要在Python包中设置一些全局变量,这是可行的。因此,用户仅会得到一个礼貌的错误,而不是带有显示错误行的Python错误报告的列表。

有人对更好的方法有什么建议吗?

1 个答案:

答案 0 :(得分:1)

请查看警告包。

import warnings

warnings.warn("deprecated", DeprecationWarning)

它还支持其他警告类型,例如RuntimewarningFuturewarning等。

https://docs.python.org/3/library/warnings.html

修改 您可以使用异常钩子并限制回溯,而可以使用warnings软件包打印警告。

请参阅此StackOverflow帖子 Hide traceback unless a debug flag is set