I have
import urllib2 try: urllib2.urlopen("some url") except urllib2.HTTPError: <whatever>
but what I end up is catching any kind of HTTP error. I want to catch only if the specified webpage doesn’t exist (404?).
Advertisement
Answer
Python 3
from urllib.error import HTTPError
Python 2
from urllib2 import HTTPError
Just catch HTTPError
, handle it, and if it’s not Error 404, simply use raise
to re-raise the exception.
See the Python tutorial.
Here is a complete example for Python 2:
import urllib2 from urllib2 import HTTPError try: urllib2.urlopen("some url") except HTTPError as err: if err.code == 404: <whatever> else: raise