Что такое Исключение?
Исключение (Exception) — это механизм в Python, который позволяет обрабатывать ошибки, возникающие во время выполнения программы. Если в процессе работы программы происходит нечто неожиданное (например, деление на ноль, попытка открыть несуществующий файл, работа с некорректным типом данных), Python выбрасывает исключение.
Если исключение не перехвачено и не обработано, выполнение программы прерывается, и пользователю выводится сообщение об ошибке.
Почему важна обработка исключений?
Обработка исключений делает программу:
- более устойчивой к ошибкам,
- понятной для пользователя (вместо сбоев — внятные сообщения),
- способной продолжать выполнение даже после возникновения ошибки.
Пример без обработки:
a = 10
b = 0
print(a / b) # ZeroDivisionError
При выполнении возникает исключение ZeroDivisionError, и программа аварийно завершается.
Пример с обработкой исключения:
try:
a = 10
b = 0
print(a / b)
except ZeroDivisionError:
print("Нельзя делить на ноль!")
Теперь ошибка перехвачена, программа не падает, а выводит понятное сообщение.
Распространённые типы исключений:
- ZeroDivisionError – деление на ноль.
- FileNotFoundError – файл не найден.
- TypeError – неправильный тип данных.
- IndexError – индекс за пределами диапазона.
- KeyError – ключ не найден в словаре.
- ValueError – значение неподходящего формата.
Использование else и finally:
- else выполняется только если исключения не возникло.
- finally выполняется в любом случае — для освобождения ресурсов (например, закрытие файла).
try:
f = open("файл.txt")
print("Файл открыт.")
except FileNotFoundError:
print("Файл не найден.")
else:
print("Ошибок не было.")
finally:
print("Операция завершена.")
Заключение
Исключения (exceptions) — важнейший элемент надёжного кода. Они позволяют обрабатывать ошибки без падения программы, давать пользователю понятные сообщения и обеспечивать стабильную и безопасную работу программ.
Теги:
Связанные термины:
Присоединяйтесь к нашим курсам для углубленного изучения области ИТ. Отправьте запрос для получения подробной информации!