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