Пишем своего робота на Python. Урок 7
Боремся с ошибками, которые могут сломать выполнение нашей функции
Двигаемся дальше в разработке нашего робота по поиску госконтрактов. Тема сегодняшнего урока — ошибки.
Если в нашем запросе будут указаны параметры, по которым ничего не находится, или сервис «ГосЗатрат» перестанет отвечать на запросы, мы получим ошибку — и тогда наш скрипт сломается. Чтобы этого избегать, мы будем применять синтаксис try-except. Давайте попробуем для начала воспроизвести ошибку.
Разберемся, как не получать такие ошибки. С помощью нового условия как бы скажем нашей функции: попробуй сделать запрос (try), а если не получается (except), сделай что-то другое. Что именно? Например, можем вывести некоторое сообщение: «Что-то пошло не так!».
С помощью этого синтаксиса можно прописывать конкретно, какой ошибки мы хотим избежать. Сейчас в нашем коде вне зависимости от ошибки мы получим сообщение «Что-то пошло не так!». Та ошибка, когда мы сами ввели неподходящее значение параметра, называется JSONDecodeError.
Если мы добавим ее название в условие, а вылетит какая-то другая — наша функция снова сломается. В этот раз мы оставим уточнение, чтобы в дальнейшем иметь возможность отследить другие ошибки и решить, как с ними поступить.