Что такое исключение?
Исключение – это ошибка, возникающая во время выполнения программы. При возникновении исключения программа останавливается, и пользователь получает сообщение об ошибке. Для обеспечения непрерывной работы программы даже при ошибках, используется обработка исключений.
Создание и обработка ошибки
Рассмотрим пример: получение числа от пользователя.
chislo = int(input("Введите число: "))
chislo += 5
print(chislo)
Если пользователь введет строку вместо числа, возникнет ошибка ValueError. Для её обработки используем конструкцию try-except:
try:
chislo = int(input("Введите число: "))
chislo += 5
print(chislo)
except ValueError:
print("Введите целое число!")
Теперь, при вводе строки, вместо ошибки выводится сообщение, и программа продолжает работу.
Обработка ошибок в цикле
Программа, запрашивающая число до корректного ввода:
x = 0
while x == 0:
try:
x = int(input("Введите число: "))
x += 5
print(x)
except ValueError:
print("Введите целое число!")
Цикл while прерывается после успешного ввода числа.
Обработка разных типов исключений
try-except позволяет обрабатывать разные типы исключений. Например, добавим обработку ZeroDivisionError:
try:
a = 5
b = 0
c = a / b
print(c)
except ZeroDivisionError:
print("Деление на ноль!")
except ValueError:
print("Ошибка ввода данных!")
Можно добавить несколько блоков except для разных типов исключений.
Блок finally
Блок finally выполняется всегда, независимо от возникновения исключения. Он полезен для освобождения ресурсов (например, закрытия файлов):
try:
# ... какой-то код ...
except Exception as e:
# ... обработка исключения ...
finally:
print("Блок finally всегда выполняется")
Блок else
Блок else выполняется, если в блоке try не возникло исключений:
try:
# ... какой-то код ...
except Exception as e:
# ... обработка исключения ...
else:
print("Блок else выполняется, если не было исключений")
finally:
print("Блок finally всегда выполняется")
Обработка исключений важна в Python. Она создаёт устойчивые и надежные программы, способные обрабатывать ошибки без аварийного завершения. Используйте try-except для обработки ошибок при работе с файлами, базами данных и пользовательским вводом, улучшая пользовательский опыт.