我有一个脚本打印出来自 API 的响应,但我似乎无法捕获任何异常。我想我已经在没有任何运气的情况下解决了有关此主题的所有问题。
如何检查脚本是否会捕获任何错误/异常?
我正在一个我知道返回 403 Forbidden 的站点上测试脚本,但它没有显示。
我的脚本:
import urllib2
url_se = 'http://www.example.com'
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'API to File')]
try:
request = opener.open(url_se)
except urllib2.HTTPError, e:
print e.code
except urllib2.URLError, e:
print e.args
except Exception:
import traceback
print 'Generic exception ' + traceback.format_exc()
response = request.read()
print response
这是正确的方法吗?捕捉异常的最佳实践是什么
urllib2
您的程序中存在错误。如果在try块发生任何异常则变request
变undefined
中response = request.text()
块。
更正为
import urllib2
url_se = 'http://www.example.com'
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'API to File')]
try:
request = opener.open(url_se)
response = request.read()
print response
except urllib2.HTTPError, e:
print e.code
except urllib2.URLError, e:
print e.args
except Exception as e:
import traceback
print 'Generic exception ' + traceback.format_exc()
在您的机器上测试它,您肯定会看到异常。单独捕获异常只有在您对它们进行指定时才有意义,否则如果您只想记录异常,那么通用except
块将完成这项工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句