как использовать запросы вызывают ошибку в Python - PullRequest
0 голосов
/ 18 февраля 2019

Я использую Python для извлечения контента из некоторых URL.Итак, у меня есть список URL-адресов, и все в порядке, за исключением одного из них, где я получаю 404. Я хотел получить такой как:

for url in urls:
    r = requests.get(url)

    try:
        r.raise_for_status()
    except RuntimeError:
        print('error: could not get content from url because of {}'.format(r.status_code))

Но теперь, исключение, вызванное функцией Raise_for_status (), недоставлено, но только что распечатано?Как я могу напечатать свой собственный код ошибки, если он возник?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Вы можете создать собственное исключение class и просто повысить его,

class MyException(Exception):
    pass
...
...
for url in urls:
    r = requests.get(url)
    try:
        r.raise_for_status()
    except requests.exceptions.HTTPError as error:
        raise MyException('error: could not get content from url because of {}'.format(r.status_code))
0 голосов
/ 18 февраля 2019

Вам необходимо изменить try catch block

try:
     r = requests.get(url)
     r.raise_for_status()
except requests.exceptions.HTTPError as error:
     print error
...