поймайте определенную Ошибку HTTP в Python

Я хочу поймать определенную ошибку HTTP и не любое из всего семейства.. то, что я пытался сделать,-

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

но то, что я заканчиваю, ловит любой вид ошибки HTTP, но я хочу поймать, только если указанная веб-страница не существует!! вероятно, это - Ошибка HTTP 404.. но я не знаю, как указать, что выгода только ошибка 404 и позволила системе выполнить обработчик по умолчанию для других событий.. нью-йоркские предложения??

60
задан Tim Pietzcker 7 July 2010 в 09:18
поделиться

1 ответ

Просто поймайте urllib2. HTTPError, обработайте его, и если это не ошибка 404, просто используйте raise, чтобы повторно вызвать исключение.

См. Учебник по Python.

Так что вы можете сделать:

import urllib2
try:
   urllib2.urlopen("some url")
except urllib2.HTTPError as err:
   if err.code == 404:
       <whatever>
   else:
       raise
107
ответ дан 24 November 2019 в 17:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: