我为解析网站创建了一个小类。在
出现URLError异常:
def visit(self, url, referer=None, data=None):
(...)
# Return BeautifulSoup instance.
try:
return BeautifulSoup(self.opener.open(self.request))
# URLError.
except urllib.error.URLError as error:
return error
一切正常。但我需要创建这个函数的包装器。在
^{pr2}$Get_links函数在出现URLError(403,404,whatever…)之前也能正常工作。我怎样才能解决这个问题?是否存在继承例外?在
您的
visit()
函数捕获异常并返回一个URLError
对象,您正在调用find_all()
,但它没有。在类似于:
应该能给你一个流动的概念。您无法在外部
get_links()
中捕获该异常,因为它已经被visit()
捕获并返回。在如果你想在
^{pr2}$get_links()
中捕捉到它,请更改到
在您的
visit()
方法中,虽然您将再次抛出刚刚捕获到的异常,但我不确定这是否是您想要的行为。在相关问题 更多 >
编程相关推荐