Я всегда использовал:
r = requests.get(url)
if r.status_code == 200:
# my passing code
else:
# anything else, if this even exists
Теперь я работал над другой проблемой и решил учесть другие ошибки и вместо этого сейчас использую:
try:
r = requests.get(url)
r.raise_for_status()
except requests.exceptions.ConnectionError as err:
# eg, no internet
raise SystemExit(err)
except requests.exceptions.HTTPError as err:
# eg, url, server and other errors
raise SystemExit(err)
# the rest of my code is going here
За исключением того, что Различные другие ошибки могут быть проверены на этом уровне, один метод лучше, чем другой?