Исключения
209
Блок else
Для повышения устойчивости программы к ошибкам можно заключить строку, вы-
дающую ошибки, в блок
try
-
except
. Ошибка происходит в строке, выполняющей
деление; следовательно, именно эту строку следует заключить в блок
try
-
except
.
Данный пример также включает блок
else
. Любой код, зависящий от успешного
выполнения блока
try
,
размещается в блоке
else
:
...
while True:
...
if second_number == 'q':
break
❶
try:
answer = int(first_number) / int(second_number)
❷
except ZeroDivisionError:
print("You can't divide by 0!")
❸
else:
print(answer)
Программа пытается выполнить операцию деления в блоке
try
, который вклю-
чает только код, способный породить ошибку. Любой код, зависящий от успешного
выполнения блока
try
, добавляется в блок
else
. В данном случае, если операция
деления выполняется успешно, блок
else
используется
для вывода результата
.
Блок
except
сообщает Python, как следует поступать при возникновении ошибки
ZeroDivisionError
. Если при выполнении команды из блока
try
происходит
ошибка, связанная с делением на 0, программа выводит понятное сообщение,
которое объясняет пользователю, как избежать подобных ошибок. Выполнение
программы продолжается, и пользователь не сталкивается с трассировкой:
Give me two numbers, and I'll divide them.
Enter 'q' to quit.
First number:
Достарыңызбен бөлісу: