【问题标题】:Python: urlopen - skip entry if any error occurs [closed]Python:urlopen - 如果发生任何错误则跳过条目[关闭]
【发布时间】:2014-07-06 02:51:04
【问题描述】:

我想知道如果在访问网站时发生任何错误,urlopen 是否有某种“Catch all”代码会跳过我的 for 循环中的整个条目。

【问题讨论】:

  • 使用tryexcept

标签: python urllib2 urlopen


【解决方案1】:

您可以使用try/except 块捕获异常:

# Python 3 example
from urllib.error import URLError, HTTPError
from urllib.request import urlopen

for entry in entries:
    try:
         data = urlopen(...)
    except URLError, HTTPError:
         print("Something bad happened")
    else:
         # Process data get from the URL opened
         # If an exception has been catch, you won't 
         # enter in this else block

【讨论】:

  • 代码“有效”,因为我在运行它时没有收到任何错误,但我不确定它是否正常工作,因为它可能会跳过任何出现的问题,或者如果只是没有'没有任何错误,因此没有'激活'代码。
  • 如果你想看看它是否执行,你可以尝试在else块中添加一些print :)
  • @user3476845:要忽略所有错误,请捕获 Exception 对象。 URLError 和 HTTPError 还不够。
  • 感谢它的工作
猜你喜欢
  • 1970-01-01
  • 2014-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-20
  • 2017-02-15
  • 1970-01-01
  • 2018-10-21
相关资源
最近更新 更多