Я хочу поймать определенную ошибку HTTP и не любое из всего семейства.. то, что я пытался сделать,-
import urllib2
try:
urllib2.urlopen("some url")
except urllib2.HTTPError:
<whatever>
но то, что я заканчиваю, ловит любой вид ошибки HTTP, но я хочу поймать, только если указанная веб-страница не существует!! вероятно, это - Ошибка HTTP 404.. но я не знаю, как указать, что выгода только ошибка 404 и позволила системе выполнить обработчик по умолчанию для других событий.. нью-йоркские предложения??
Просто поймайте urllib2. HTTPError
, обработайте его, и если это не ошибка 404, просто используйте raise
, чтобы повторно вызвать исключение.
См. Учебник по Python.
Так что вы можете сделать:
import urllib2
try:
urllib2.urlopen("some url")
except urllib2.HTTPError as err:
if err.code == 404:
<whatever>
else:
raise