Почти во всех языках программирования имеется такая вещь, как обработка исключений. Исключение - это непредвиденная (исключительная) ситуация, которая может произойти во время выполнения программы. Например, в качестве делителя пользователь может ввести число 0, а на ноль делить нельзя. Это будет ошибка времени выполнения, и программа, скорее всего, завершится аварийно.
И если деление на ноль можно хотя бы предвидеть и принять меры, то многие вещи предвидеть невозможно (например, отсутствие файла в нужном месте или разрыв соединения с Интернет). И, поскольку предусмотреть это нельзя (точнее, можно, но вы не будете точно знать, что пошло не так), то надо как-то выделить блок кода, где может произойти исключение, и сделать так, чтобы программа не завершилась аварийно.
Вот пример на Python, где происходит ошибка времени выполнения:
При передаче в функцию правильных данных никакой ошибки не будет. И если вы уверены, что вторым параметром никогда не будет ноль, то на этом можно и остановиться. А вот если НЕ уверены, то лучше принять соответствующие меры.
Обработать исключение в Python, как и во многих других языках, можно с помощью try. Только не забываем, что это долбаный Python, поэтому в конце этого слова надо ставить двоеточие. Вообще конструкция выглядит так:
try:
Здесь код, который может вызвать исключение
except:
Здесь код, который будет выполнен, если исключение произойдёт
Интерпретатор Python начинает выполнение кода. Если после слова try всё идёт хорошо, то блок except будет пропущен. Если же в блоке try что-то пошло не так, то в месте обнаружения ошибки выполнение когда прерывается и интерпретатор начинает выполнять код в блоке except.
Обработка исключения с помощью оператора try называется перехватом (catch) исключения. В примере ниже блок except печатает сообщение об ошибке, что не даёт особой радости пользователю. В общем же случае перехват исключения дает возможность устранить неприятность, попытаться еще раз (например, прочитать файл) или хотя бы завершить программу без аварийной остановки.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.