Вопрос относительно конструкции try-except

Есть конструкция такого типа:

while True:
    try:
       ....
    except:
       continue

Если сервер обрывает соединение, то скрипт его восстанавливает. Однако, если я выключаю wi-fi и снова его включаю, скрипт зависает.

Как поступить?

Traceback (most recent call last):
  File "/home/pumpetee/2021/Kuna/bot_v2_btcusd_sell.py", line 32, in <module>
    responses = requests.post(url , headers=headers).json()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Сервер не успевает обработать запрос. Скрипт пытается вытащить значение, которое еще не было занесено в базу данных.


Ответы (1 шт):

Автор решения: Jack_oS

Скорее всего, дело не в try-except: у вас ошибка говорит о том, что responses не может быть преобразован в json... Попробуйте проверять данные перед декодированием:

json_data = None
r = requests.post(url , headers=headers)
if r.status_code == 200
    json_data = r.json()
→ Ссылка