我很想处理python中的异常。
特别是我想在以下情况下创建一个例外:
URLError: <urlopen error [Errno 11001] getaddrinfo failed>`
和另一个时间:
HTTPError: HTTP Error 404: Not Found
如果我是对的,那么在两种情况下都是:
except IOError:
但是我想在出现一个错误时执行一个代码,在另一个错误出现时执行不同的代码,
我如何区分这两个例外?
谢谢
答案 0 :(得分:1)
您可以为要处理的每种类型的异常设置多个异常处理程序,如下所示:
import urllib2
(...)
try:
(... your code ...)
except urllib2.HTTPError, e:
(... handle HTTPError ...)
except urllib2.URLError, e:
(... handle URLError ...)
请注意,这只会处理HTTPError
和URLError
,任何其他类型的例外都不会被处理。您可以添加最终except Exception, e:
来处理其他任何内容,但评论中正确指出了this is discouraged。
显然用你的代码替换括号()中的evrything。