Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python嵌套错误处理_Python_Nested_Try Catch - Fatal编程技术网

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