0
1 try:
2    req = requests.get(my_url, timeout=20)
3 except requests.exceptions.ConnectionError:
4    time.sleep(10)
5    req = requests.get(my_url, timeout=30)
6 except:
7    time.sleep(10)
8    req = requests.get(my_url, timeout=20)

When I run this code, there is often on error on line 2.

Traceback (most recent call last):
  File "E:/python/kr.py", line 2, in <module>
    req = requests.get(my_url, timeout=20)
  File "C:\Users\icarus-DT\PycharmProjects\untitled\venv\lib\site-packages\requests\api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\icarus-DT\PycharmProjects\untitled\venv\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\icarus-DT\PycharmProjects\untitled\venv\lib\site-packages\requests\sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\icarus-DT\PycharmProjects\untitled\venv\lib\site-packages\requests\sessions.py", line 665, in send
    history = [resp for resp in gen]
  File "C:\Users\icarus-DT\PycharmProjects\untitled\venv\lib\site-packages\requests\sessions.py", line 665, in <listcomp>
    history = [resp for resp in gen]
  File "C:\Users\icarus-DT\PycharmProjects\untitled\venv\lib\site-packages\requests\sessions.py", line 237, in resolve_redirects
    resp = self.send(
  File "C:\Users\icarus-DT\PycharmProjects\untitled\venv\lib\site-packages\requests\sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\icarus-DT\PycharmProjects\untitled\venv\lib\site-packages\requests\adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', OSError(0, 'Error'))

Is there any way that I can skip this error and move to time.sleep line? Thank you in advance!

KJ H
  • 3
  • 3

1 Answers1

0

I don't believe python allows except block after another except block, you can try a nested approach as below

try:
    req = requests.get(my_url, timeout=20)
except requests.exceptions.ConnectionError:
    try:
       time.sleep(10)
       req = requests.get(my_url, timeout=20)
    except Exception as e:
       print(e)
Harshith Yadav
  • 106
  • 1
  • 9