Catch urllib's HTTPException and give a meaningful error message to the user.
authorThomas Arendsen Hein <thomas@intevation.de>
Tue, 16 May 2006 09:35:38 +0200
changeset 2294 ce67fa312f61
parent 2293 3dc6f2501dbc
child 2295 9c15f85e61b1
Catch urllib's HTTPException and give a meaningful error message to the user. Usually urllib only throws HTTPError exceptions, which already are a subclass of IOError.
mercurial/httprepo.py
--- a/mercurial/httprepo.py	Mon May 15 11:16:32 2006 -0700
+++ b/mercurial/httprepo.py	Tue May 16 09:35:38 2006 +0200
@@ -103,7 +103,10 @@
         q.update(args)
         qs = urllib.urlencode(q)
         cu = "%s?%s" % (self.url, qs)
-        resp = urllib2.urlopen(cu)
+        try:
+            resp = urllib2.urlopen(cu)
+        except httplib.HTTPException, inst:
+            raise IOError(None, _('http error while sending %s command') % cmd)
         proto = resp.headers['content-type']
 
         # accept old "text/plain" and "application/hg-changegroup" for now