区分python中出现的错误

2024-03-28 20:22:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我对处理python中的异常非常陌生。你知道吗

我特别想在以下情况下创建一个例外:

URLError: <urlopen error [Errno 11001] getaddrinfo failed>`

另一个是:

HTTPError: HTTP Error 404: Not Found

如果我是对的,那么在两种情况下都应该是:

except IOError:

但是我想在一个错误出现时执行一个代码,在另一个错误出现时执行另一个代码

如何区分这两个例外?你知道吗

谢谢


Tags: 代码http错误not情况errorurlopenfailed
1条回答
网友
1楼 · 发布于 2024-03-28 20:22:19

可以为要处理的每种类型的异常设置多个异常处理程序,如下所示:

import urllib2

(...)

try:
    (... your code ...)
except urllib2.HTTPError, e:
    (... handle HTTPError ...)
except urllib2.URLError, e:
    (... handle URLError ...)

请注意,这将只处理HTTPErrorURLError,不会处理任何其他类型的异常。您可以添加一个最终的except Exception, e:来处理其他任何事情,尽管this is discouraged正如注释中正确指出的那样。你知道吗

显然,用代码替换括号()中的evrything。你知道吗

相关问题 更多 >