Python嵌套错误处理
我想忽略库代码(不是我的代码)中的某些异常 因此: 因此,我将在最后开始打印“我的代码”。 目前的结果是: 仅限“非我的代码”。如果内部块整体引发异常,您将获得我的代码。在您的情况下,内部块Python嵌套错误处理,python,nested,try-catch,Python,Nested,Try Catch,我想忽略库代码(不是我的代码)中的某些异常 因此: 因此,我将在最后开始打印“我的代码”。 目前的结果是: 仅限“非我的代码”。如果内部块整体引发异常,您将获得我的代码。在您的情况下,内部块 try: # not my code start assert False except: print('not my code') # not my code end 已经处理了它的异常,因此,从外部try的角度来看,它已成功完成 您只能通过以下方式触发外部异常:在第一次尝试中引发未处理
try: # not my code start
assert False
except:
print('not my code') # not my code end
已经处理了它的异常,因此,从外部try
的角度来看,它已成功完成
您只能通过以下方式触发外部异常:在第一次
尝试中引发未处理的异常,或调用引发异常的函数。库已处理该异常,你不能阻止它。如果你不想/不能修补这个库,你可以在代码中重写你从这个库调用的这个特定函数/方法。或者找到一种方法来判断是否引发了异常,而不是异常处理,这显然可能会很棘手,因此没有忽略异常的解决方案?如果使用try
,则必须使用except
。如果要忽略异常,请不要使用try except
。只需在内部块中执行assert False
。如果您无权访问的代码捕捉到自己的异常,那么您将无能为力
try: # not my code start
assert False
except:
print('not my code') # not my code end