我使用python从一些网址获取内容。所以我有一个网址列表,一切都很好,除了其中一个我得到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()引发的异常没有被提取但只是打印出来了?如果它被引发,我如何打印自己的错误代码?
你需要修改你的try catch block
try:
r = requests.get(url)
r.raise_for_status()
except requests.exceptions.HTTPError as error:
print error
你可以创建自己的例外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))