Пишем своего робота на Python. Урок 7
Боремся с ошибками, которые могут сломать выполнение нашей функции
![Пишем своего робота на Python. Урок 7](https://storage.googleapis.com/static.istories.media/uploaded/images/2dccd2549d9d4c698c9b2d4064fd5663-1920x960px_1x.png)
Двигаемся дальше в разработке нашего робота по поиску госконтрактов. Тема сегодняшнего урока — ошибки.
Если в нашем запросе будут указаны параметры, по которым ничего не находится, или сервис «ГосЗатрат» перестанет отвечать на запросы, мы получим ошибку — и тогда наш скрипт сломается. Чтобы этого избегать, мы будем применять синтаксис try-except. Давайте попробуем для начала воспроизвести ошибку.
![](https://storage.googleapis.com/static.istories.media/uploaded/images/1ce8bb350fa84fc99bfa3c83970bc81d-1200xautopx_1x.png)
![](https://storage.googleapis.com/static.istories.media/uploaded/images/2d7eb0765d8a4b319cf348e07eb8ebf7-1200xautopx_1x.png)
Разберемся, как не получать такие ошибки. С помощью нового условия как бы скажем нашей функции: попробуй сделать запрос (try), а если не получается (except), сделай что-то другое. Что именно? Например, можем вывести некоторое сообщение: «Что-то пошло не так!».
![](https://storage.googleapis.com/static.istories.media/uploaded/images/664724f3953247bdb1f57904edafde87-1200xautopx_1x.png)
![](https://storage.googleapis.com/static.istories.media/uploaded/images/ee13b5a97f0a417896619b6feea826fe-1200xautopx_1x.png)
С помощью этого синтаксиса можно прописывать конкретно, какой ошибки мы хотим избежать. Сейчас в нашем коде вне зависимости от ошибки мы получим сообщение «Что-то пошло не так!». Та ошибка, когда мы сами ввели неподходящее значение параметра, называется JSONDecodeError.
![](https://storage.googleapis.com/static.istories.media/uploaded/images/f94af2e028034070ad00eb8e6a1ec387-1200xautopx_1x.png)
Если мы добавим ее название в условие, а вылетит какая-то другая — наша функция снова сломается. В этот раз мы оставим уточнение, чтобы в дальнейшем иметь возможность отследить другие ошибки и решить, как с ними поступить.