代码之家  ›  专栏  ›  技术社区  ›  blonc

python urllib。错误HTTPError(HTTP错误)

  •  1
  • blonc  · 技术社区  · 8 年前

    我的功能如下:

    def pull_sector(sym):
        company_data_link = "url%s%s" % (sym,API_KEY_COMPANY)
        with urllib.request.urlopen(company_data_link) as url:
            company_data = json.loads(url.read().decode())
    
        return company_data
    

    这个函数95%的时间都在工作,但偶尔会出现404错误,这不是什么大问题,但它把我搞砸了,我怎么能不让脚本崩溃,而在返回时传递404之类的消息呢?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Xantium    8 年前

    你可以使用 try / except 然后捕捉错误并执行其他操作:

    def pull_sector(sym):
        company_data_link = "url%s%s" % (sym,API_KEY_COMPANY)
        try:
            with urllib.request.urlopen(company_data_link) as url:
                company_data = json.loads(url.read().decode())
    
            return company_data
    
        except URLError:
            return "404 Error"
    

    您还需要导入 urllib.error.URLError 运行此。