Python 在Exception中引发异常而不调用原始异常
我的代码如下:Python 在Exception中引发异常而不调用原始异常,python,exception,nested,raise,Python,Exception,Nested,Raise,我的代码如下: try: *Do something* except *anError*: if (condition): methodCalled() else: raise "my own Exception" 问题是,当我引发我自己的异常我自己的异常时,也会引发一个错误异常。有没有办法确保在我引发自己的异常时不会引发我捕获的错误?引用: 在exception或finally中引发或重新引发异常时 子句_上下文_自动设置为捕获的最后一
try:
*Do something*
except *anError*:
if (condition):
methodCalled()
else:
raise "my own Exception"
问题是,当我引发我自己的异常我自己的异常时,也会引发一个错误异常。有没有办法确保在我引发自己的异常时不会引发我捕获的错误?引用:
在exception或finally中引发或重新引发异常时
子句_上下文_自动设置为捕获的最后一个异常;
如果新异常未得到处理,则最终将进行回溯
显示的将包括原始异常和最终异常
例外
这正是你的情况:
try:
try:
raise ValueError
except ValueError:
raise TypeError
except Exception as e:
print('Original:', type(e.__context__)) # Original: <class 'ValueError'>
print('Explicitly raised:', type(e)) # Explicitly raised: <class 'TypeError'>
try:
raise ValueError
except ValueError:
raise TypeError from None