requests.exceptions.RequestException: General request failure
RequestException: General failure
$ python -c "import requests; raise requests.exceptions.RequestException('something went wrong')"
Traceback (most recent call last):
...
requests.exceptions.RequestException: something went wrong
Why this happens
This is the base class for Requests exceptions. It appears when catching broadly or raising manually.
Fix
Catch specific exceptions first; log details (URL, status, headers) for diagnostics.
Wrong code
import requests
try:
requests.get('https://example.com')
except requests.exceptions.RequestException:
print('failed')
Fixed code
import requests
try:
r = requests.get('https://example.com', timeout=5)
r.raise_for_status()
except (requests.exceptions.Timeout,
requests.exceptions.ConnectionError,
requests.exceptions.HTTPError) as e:
print('specific failure:', e)