catch specific HTTP error in python
Question: I want to catch a specific http error and not any one of the entire family..
what I was trying to do is --

    
    
    import urllib2
    try:
       urllib2.urlopen("some url")
    except urllib2.HTTPError:
       <whatever>
    

but what I end up is catching any kind of http error, but I want to catch only
if the specified webpage doesn't exist!! probably that's HTTP error 404..but I
don't know how to specify that catch only error 404 and let the system run the
default handler for other events..ny suggestions??


Answer: Just catch `urllib2.HTTPError`, handle it, and if it's not Error 404, simply
use `raise` to re-raise the exception.

See the [Python
tutorial](http://docs.python.org/tutorial/errors.html#handling-exceptions).

So you could do:

    
    
    import urllib2
    try:
       urllib2.urlopen("some url")
    except urllib2.HTTPError as err:
       if err.code == 404:
           <whatever>
       else:
           raise
    

