В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев


Download 0.87 Mb.
bet36/40
Sana23.04.2023
Hajmi0.87 Mb.
#1387407
TuriКнига
1   ...   32   33   34   35   36   37   38   39   40
Bog'liq
Боши Лекция Парадигма и методы программирование

3.3.5 Обработка исключений


Исключения (exceptions) — ещё один тип данных в Python. Часто в работе программы возникают ошибки, препятствующие её дальнейшему выполнению.
Вот простой пример такой ошибки:
>>> 10/0
Traceback (most recent call last):
File "
", line 1,
10/0
ZeroDivisionError: division by zero
В данном случае интерпретатор сообщил нам об ошибке ZeroDivisionError, то есть о делении на ноль. Также возможны и другие исключения, например, несовпадающие типы:
>>> 1 + ’a’
Traceback (most recent call last):
File "
", line 1,
1 + ’a’
TypeError: unsupported operand (s) +: ’int’ ’str’
Во всех таких случаях интерпретатор прерывает работу программы, поскольку либо не может понять очередную инструкцию, либо предполагает, что полученное в её результате значение (например, при делении на ноль или взятии логарифма отрицательного числа) недопустимо. Это считается правильным, поскольку указывает программисту на наличие ошибки. Однако иногда в программе могут возникать ошибки, которые невозможно быстро поправить, а работу программы останавливать нельзя. В таком случае принято говорить об исключении. Такие исключения можно обрабатывать, для чего используется конструкция try–except. Пример применения этой конструкции: a = ( (’Введите делимое = ’))
b = ( (’Введите делитель = ’))
:
(a/b)
ZeroDivisionError:
(’Деление на ноль’)
Надо понимать, что обработка исключений — это крайняя мера, которая используется, либо если иначе починить программу без существенного переписывания быстро нельзя, либо если программа зависит от сторонних модулей, которые не могут быть исправлены, но способны вызвать ошибку. Злоупотребление конструкцией try–except быстро приводит программу в неработоспособное состояние, поскольку эта конструкция в действительности ничего не исправляет, а просто помогает игнорировать проблему в данном месте. В большинстве случаев вместо try–except достаточно добавить просто проверку условия.

Download 0.87 Mb.

Do'stlaringiz bilan baham:
1   ...   32   33   34   35   36   37   38   39   40




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling