首页 > 解决方案 > python - 是否可以捕获和处理库引发的异常?

问题描述

我正在使用外部库,在 HTTPError 的情况下会引发异常:

if r.status_code != 200:
    raise HTTPError(r.text)

我想以某种方式在我的代码中处理此异常,以一种不会破坏脚本执行但记录错误并继续的方式。是否可以不更改外部库本身?就像是:

except: HTTPError as e:
...
   pass

我想覆盖最初在库中处理异常的方式。

标签: pythonpython-3.x

解决方案


是的,您可以发现错误

class HTTPError(Exception):
    pass

try:
    # suppose you are doing some action that raises HTTPError
    raise HTTPError()

except HTTPError as e:
    # catch the error
    print('http error')

finally:
    print('closing')
http error
closing

请记住,您需要导入非标准异常类。


推荐阅读