我正在使用库来处理与API的交互。 稍后我会用它来创建一些工具。
现在我想知道在哪里真的'处理异常。
到目前为止我出现/使用的一些例子
示例
import urllib2
class Request:
def send(self, url):
try:
req = urllib2.Request(url)
request = urllib2.urlopen(req)
response = request.read()
return response
except urllib2.URLError as ue:
return 'URL not found'
request = Request()
print request.send('https://not-a-real-url-.com')
打印例外 找不到网址
但我也可以返回URLError
<urlopen error [Errno 8] nodename nor servname provided, or not known>
或者引发错误以让用户代码处理
try:
print request.send('https://not-a-real-url-.com')
except urllib2.URLError as ue:
print 'error'
由于我正在创建库和代码我可以自由地处理它,我认为最好但是如果我想共享库我希望有最好的错误异常,所以用户不是面临巨大的问题,必须进行调试。
我没有看到任何真正像我一样的问题所以我希望这不是重复的。
感谢您的投入! 迈克尔
答案 0 :(得分:0)
我会将它保留在你的最后并添加一个打印追溯的一揽子例外:
import urllib2
class Request:
def send(self, url):
try:
req = urllib2.Request(url)
request = urllib2.urlopen(req)
response = request.read()
return response
except urllib2.URLError:
return 'URL not found'
except Exception as e:
return 'Error: '+e
request = Request()
print request.send('https://not-a-real-url-.com')