Есть у меня небольшая самописная программа на Python, созданная в рамках освоения данного языка программирования. В Ubuntu 16.04 она прекрасно работала на Python 3.5. Сейчас, перейдя на 18.04, я столкнулся с проблемой - обход ошибок JSON (по try-except) перестал работать.
Запрос идет к api через прокси, который временами отваливается. В таком случае, вместо json получаем страницу html - это вызывало ошибку
JSONDecodeError, которая успешно обходилась командами:
except json.decoder.JSONDecodeError:
err = True
print ("#", count, ":", time.asctime(), ": JSON Error!")
Как теперь я заметил, использовался модуль
/usr/lib/python3.5/json/decoder.pyЗапустив программу в Ubuntu 18.04 c Python 3.6.5, ошибка выглядит иным образом:
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)И используется модуль
/usr/lib/python3/dist-packages/simplejson/decoder.py, что, как я понимаю, и создает проблему.
Внимание, вопрос: почему так? Ведь есть же модуль /usr/lib/python3.6/json/decoder.py !
Что это, баг или фича? И как можно это исправить?