Найти в Дзене

Что такое try / except в Python?

Насколько важен конструктор try / except? Где используется? И что это вообще такое? Ответы на все эти вопросы я напишу в данной статье максимально понятным языком) Я не сомневаюсь, что каждый кодер видел конструктор try / except в интернете или в чужих программах. Не все герои носят плащи, как например try / except - это можно сказать "страховка" твоей программы. Например: Представим, что твой безрукий кент написал код, и что-то пошло не так (любая ошибка), так вот без обработчика try / except программа просто ломается и выдает ошибку. А вот если у нас сама логика кода обернута в этот конструктор, то консоль нам аккуратно шепнет на ушко, что ты слабоумный ошибся в коде Пример кода: Но если же мы добавим наш обработчик, то получится так: Важно! Не использовать except без указания конкретной ошибки, если не уверен (как в примере выше), иначе программа может схавать даже те ошибки, которые ты не ожидал. Желательно делать так:
ZeroDivisionError - это одно из немногих исключений в Python
Оглавление

Насколько важен конструктор try / except? Где используется? И что это вообще такое? Ответы на все эти вопросы я напишу в данной статье максимально понятным языком)

Что такое try / except?

Я не сомневаюсь, что каждый кодер видел конструктор try / except в интернете или в чужих программах. Не все герои носят плащи, как например try / except - это можно сказать "страховка" твоей программы. Например: Представим, что твой безрукий кент написал код, и что-то пошло не так (любая ошибка), так вот без обработчика try / except программа просто ломается и выдает ошибку. А вот если у нас сама логика кода обернута в этот конструктор, то консоль нам аккуратно шепнет на ушко, что ты слабоумный ошибся в коде

Пример кода:

Если запустить такой код, то в консоли он выдаст ошибку:
Если запустить такой код, то в консоли он выдаст ошибку:
"ZeroDivisionError" (ошибка деления на ноль)
"ZeroDivisionError" (ошибка деления на ноль)

Но если же мы добавим наш обработчик, то получится так:

Если запустить такой код, он обработает данную ошибку и продолжит работу
Если запустить такой код, он обработает данную ошибку и продолжит работу
-4

Важно! Не использовать except без указания конкретной ошибки, если не уверен (как в примере выше), иначе программа может схавать даже те ошибки, которые ты не ожидал. Желательно делать так:

Добавил ошибку: "ZeroDivisionError" (ошибка деления на ноль)
Добавил ошибку: "ZeroDivisionError" (ошибка деления на ноль)


ZeroDivisionError - это одно из немногих исключений в Python
Исключения бывают следующие:

-6

Зачем нужен try / except?

Ну начнем с очевидного - программа не падает, даже при ошибке продолжит свою работу. Также это очень удобно, ведь вместо непонятных красных надписей в консоли мы видим человеческий текст. Ну и конечно этот конструктор дает нам контроль над ошибками, ты можешь их обрабатывать и например работать с ними далее.


Пример работы данного конструктора в коде:

Данный код конвертирует дату, а наш обработчик ловит на ошибку конвертации
Данный код конвертирует дату, а наш обработчик ловит на ошибку конвертации

Подводя итоги, можно сказать, что обработчик try / except очень полезная штука, особенно когда мы пишем автоматизированные программы по типу телеграмм ботов и нам нужно, чтоб наш код при любых пытках не сломался и продолжил работу.