针对Jupyter笔记本电脑的Python包中的错误处理

针对Jupyter笔记本电脑的Python包中的错误处理,python,exception,jupyter-notebook,jupyter,Python,Exception,Jupyter Notebook,Jupyter,我正在开发一个用于Jupyter笔记本的Python包。它也可以通过python模块脚本访问,但Jupyter笔记本是我的目标界面。然而,在Jupyter笔记本电脑中,错误的处理是非常难看的,因为没有简单的方法在每个单元中设置尝试捕捉机制 因此,我正在考虑用Jupyter笔记本电脑的一个简单打印语句来代替我提出的所有异常,但对于Spyder等非Jupyter环境,则使用标准异常。为此,我需要在Python包中设置一些全局变量,这是可以做到的。因此,用户只会得到一个礼貌的错误,而不是一个带有Pyt

我正在开发一个用于Jupyter笔记本的Python包。它也可以通过python模块脚本访问,但Jupyter笔记本是我的目标界面。然而,在Jupyter笔记本电脑中,错误的处理是非常难看的,因为没有简单的方法在每个单元中设置尝试捕捉机制

因此,我正在考虑用Jupyter笔记本电脑的一个简单打印语句来代替我提出的所有异常,但对于Spyder等非Jupyter环境,则使用标准异常。为此,我需要在Python包中设置一些全局变量,这是可以做到的。因此,用户只会得到一个礼貌的错误,而不是一个带有Python错误报告的列表,其中显示了罪魁祸首行


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

可以看看警告包

import warnings

warnings.warn("deprecated", DeprecationWarning)
它还支持其他警告类型,如
运行时警告
未来警告

编辑 您可以使用异常挂钩并限制回溯,而是使用
warnings
package打印警告

import warnings

warnings.warn("deprecated", DeprecationWarning)
请参阅此StackOverflow post

好的。但是如果我这么做了,我仍然不能捕获异常,可以吗?我可以减少错误消息的数量吗?