СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Методическая разработка «Обработка исключений try-except в Python»

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Методическая разработка «Обработка исключений try-except в Python»»

МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ

«ЦЕНТР ДЕТСКОГО ТЕХНИЧЕСКОГО ТВОРЧЕСТВА»













Методическая разработка

«Обработка исключений try-except в Python»

к дополнительной общеобразовательной

общеразвивающей программе

технической направленности

«Программирование на Python»



Возраст детей: 10-17 лет









Автор: Костычев Вадим Александрович











г. Заречный Пензенской области

2026 г.

Данный материал предназначен для преподавателей информатики, программирования и студентов (учащихся), изучающих язык программирования Python. Он может быть использован как на лекциях, так и при проведении практических занятий или самостоятельной работе.


Цель: сформировать у учащихся навык корректной обработки ошибок времени выполнения с использованием конструкции try-except, понимание её логики работы и умение проектировать надёжный код, устойчивый к исключениям.


Задачи:

1. Объяснить назначение и синтаксис конструкции try-except.

2. Продемонстрировать, что при возникновении исключения выполнение в блоке try немедленно прерывается.

3. Научить использовать несколько блоков except для обработки разных типов исключений.

4. Показать, что необработанное исключение приводит к аварийному завершению программы.

5. Развить умение предвидеть возможные ошибки и проектировать соответствующую обработку.


Почему нужна обработка исключений?


Когда программа сталкивается с ошибкой во время выполнения (например, деление на ноль, некорректный ввод), она аварийно завершается и выводит сообщение об ошибке. Это недопустимо в реальных приложениях: пользователь не должен видеть «красный трейсбэк».


Пример без обработки:


print(int("hello")) # ValueError → программа падает

print("Эта строка не выполнится")


Чтобы избежать этого, используется конструкция try-except.


Базовая структура try-except


try:

# Код, который может вызвать исключение

except ТипИсключения:

# Действия при возникновении этого исключения


Как это работает:

1. Python выполняет код внутри try.

2. Если всё хорошо — блок except игнорируется.

3. Если возникает исключение — выполнение в try немедленно останавливается, и Python ищет подходящий except.

4. Если найден — выполняется его тело, и программа продолжает работу после всего блока try-except.


Пример:


try:

print("До ошибки")

x = int("hello") # ← исключение здесь

print("После ошибки") # ← ЭТА СТРОКА НЕ ВЫПОЛНИТСЯ

except ValueError:

print("Неверный формат числа!")


print("Программа продолжает работу")


Вывод:


До ошибки

Неверный формат числа!

Программа продолжает работу


Ключевой момент: всё, что после строки с исключением в блоке try, игнорируется.


Несколько блоков except


Один блок try может иметь несколько обработчиков для разных типов исключений:


try:

# потенциально опасный код

except ValueError:

print("Ошибка значения")

except ZeroDivisionError:

print("Деление на ноль!")

except NameError:

print("Переменная не определена")


Python проверяет блоки except сверху вниз и выполняет первый подходящий.


Пример:


try:

a = 10 / 0

b = int("abc")

except ValueError:

print("ValueError")

except ZeroDivisionError:

print("ZeroDivisionError") # ← этот блок сработает


Если исключение не совпадает ни с одним except, оно распространяется дальше (вплоть до завершения программы).


Что происходит с необработанными исключениями?


Если в блоке try возникло исключение, а ни один except его не перехватил — программа аварийно завершится, как будто try-except и не было.


Пример:


try:

print(undefined_variable) # NameError

except ValueError:

print("Обработано ValueError")

# NameError не обработан → программа упадёт


Вывод:


NameError: name 'undefined_variable' is not defined


Всегда анализируйте, какие именно исключения могут возникнуть, и обрабатывайте их явно.


Практические задания


1. Напишите программу, которая запрашивает два числа и делит первое на второе. Обработайте ValueError и ZeroDivisionError.


2. Создайте функцию, которая открывает файл, читает число и возвращает его квадрат. Обработайте FileNotFoundError, ValueError, PermissionError.


Заключение


1. Конструкция try-except позволяет перехватывать исключения и предотвращать аварийное завершение программы.

2. При возникновении исключения выполнение в try прекращается мгновенно.

3. Можно обрабатывать разные типы исключений разными блоками except.

4. Необработанное исключение ведёт к остановке программы.

5. Обработка исключений — признак профессионального и надёжного кода.




Проверь себя


1. Что произойдёт, если в блоке try возникнет исключение, но нет подходящего except?

2. Будет ли выполнен код после строки с ошибкой внутри try?

3. Как обработать сразу несколько типов исключений?

4. Почему важно указывать конкретный тип исключения, а не использовать except?

5. Может ли один блок try иметь несколько блоков except?