在python 3.5+中,如何在没有原始回溯的情况下在except块中引发异常;
库代码可以引发自定义库异常;我想抓住这一点,提出我自己的异常,不附带原始异常和原始回溯信息:在python 3.5+中,如何在没有原始回溯的情况下在except块中引发异常;,python,python-3.x,exception,Python,Python 3.x,Exception,库代码可以引发自定义库异常;我想抓住这一点,提出我自己的异常,不附带原始异常和原始回溯信息: try: can_raise_custom_lib_exception() except custom_lib_exception as e: cleanup() raise myOwnException("my own extra text") 以这种方式引发原始异常(带有回溯),消息: 在处理上述异常期间,发生了另
try:
can_raise_custom_lib_exception()
except custom_lib_exception as e:
cleanup()
raise myOwnException("my own extra text")
以这种方式引发原始异常(带有回溯),消息:
在处理上述异常期间,发生了另一个异常:
显示后接MyOwnException
(带回溯)
是否可以隐藏原始异常并仅显示我的异常?看起来python 3.5+将回溯信息附加到了错误上,我想完全隐藏第一个错误。使用
从无提升来抑制早期异常:
try:
can_raise_custom_lib_exception()
except custom_lib_exception as e:
cleanup()
raise myOwnException("my own extra text") from None
[…]
通过在from
子句中指定None
,可以显式抑制异常链接:
这正是我要找的。谢谢