

Обработка исключений
Presentation
•
Information Technology (IT)
•
9th - 12th Grade
•
Practice Problem
•
Medium
Светлана Петрова
Used 1+ times
FREE Resource
32 Slides • 10 Questions
1
Обработка исключений в Python
(try-except-finally)
2
Авторы
Колесникович Семён
Петрова Светлана
Шиманович Юлия
3
Теоретическая часть
4
Зачем это нужно?
Представьте себе обычное утро...
Каждый день вы готовите чай по привычному алгоритму. Но что, если что-то пойдет не так?
Сценарий 1: Без "запасного плана"
Ваши действия:
1. Беру чайник
2. Открываю кран → ❌ Воды нет!
3. ...и всё. Тупик.
Результат: Вы остаетесь без чая. Весь ваш утренний ритуал разрушен из-за одной неожиданности.
Сценарий 2: С "запасным планом"
Ваши действия:
1. Беру чайник
2. Пытаюсь налить воду из крана → ❌ Воды нет!
3. Вспоминаю: "А у меня же есть бутыль с водой!"
4. Наливаю воду из бутыли
Продолжаю готовить чай как обычно
Результат: Небольшая заминка, но чай готов! Утро спасено.
Это и есть обработка исключений!
5
Введение
Любая программа сталкивается с ситуациями, которые невозможно предсказать на этапе написания кода. Для управления такими ошибками в Python существуют исключения.
Исключения (exceptions) — это событие обработки ошибок во время выполнения программы. Они позволяют программе продолжить работу после обнаружения ошибки, а не завершаться аварийно.
Почему исключения важны:
предотвращают аварийное завершение программы;
позволяют корректно обрабатывать ошибки;
улучшают пользовательский опыт;
помогают в отладке и логировании.
Логирование — это процесс записи информации о событиях, действиях и состояниях системы или приложения в специальные файлы (логи)
6
Базовый синтаксис try-except
Структура обработки исключений
Пример с делением на ноль
7
Часто возникающие типы исключений в Python
8
Multiple Choice
Какое исключение нужно подставить вместо ?, чтобы программа корректно обработала ошибку, возникающую в блоке try?
ValueError
TypeError
SyntaxError
NameError
9
Multiple Choice
Какое исключение нужно подставить вместо ?, чтобы программа корректно обработала ошибку, возникающую в блоке try?
ValueError
TypeError
SyntaxError
NameError
10
Multiple Choice
Какое исключение нужно подставить вместо ?, чтобы программа корректно обработала ошибку, возникающую в блоке try?
ValueError
FileNotFoundError
ZeroDivisionError
KeyError
11
Multiple Choice
Какое исключение нужно подставить вместо ?, чтобы программа корректно обработала ошибку, возникающую в блоке try?
KeyError
NameError
SyntaxError
ValueError
12
Multiple Choice
Какое исключение нужно подставить вместо ?, чтобы программа корректно обработала ошибку, возникающую в блоке try?
KeyError
SyntaxError
IndexError
NameError
13
Multiple Choice
Какое исключение возникнет?
ValueError
SyntaxError
IndexError
NameError
14
Иерархия исключений в Python
Основные классы исключений
15
Обработка нескольких исключений
Вариант 1. Разные обработчики для разных исключений
Пример
16
Обработка нескольких исключений
Вариант 2. Один обработчик для разных исключений
Пример
17
Обработка нескольких исключений
Вариант 3. Общий обработчик с получением информации
Пример
18
Multiple Choice
Что выведет этот код?
пустую строку
TypeError
ValueError
SyntaxError
19
Multiple Choice
Что выведет этот код?
Ошибка типов данных
Другая ошибка
Ошибка индексации
0
20
Fill in the Blanks
21
Multiple Choice
Что выведет программа?
Нельзя преобразовать в число
Индекс вне диапазона
[1, 2, 10]
Переменная не определена
22
Блоки else и finally
Полная структура обработки исключений
23
try, except и finally
Пример
Структура обработки исключений
try-except-finally
24
Источники
25
Практическая часть
26
Задание 1
Условие
Перед вами простая программа-калькулятор, которая делит два введенных пользователем числа. Однако если пользователь введет не числа или попытается разделить на ноль, программа аварийно завершится. Ваша задача — интегрировать в предоставленный код конструкцию try-except, чтобы обработать две возможные ошибки:
ValueError — если введено не число;
ZeroDivisionError — если делитель равен нулю.
При возникновении любой из этих ошибок программа должна вывести понятное сообщение и продолжить работу (или корректно завершиться).
Исходный код для модификации:
27
Задание 1
Блок-схема
Код программы
28
Задание 1
Пример запуска программы
29
Задание 2
Условие
Описать функцию, которая будет проверять, является ли вводимое число с клавиатуры целым числом используя конструкцию try-except
30
Задание 2
Блок-схема
Код программы
31
Задание 2
Пример запуска программы
32
Задание 3
Условие
Напишите программу, которая:
- запрашивает у пользователя индекс;
- пытается получить элемент из заранее заданного списка fruits = ["яблоко", "банан", "апельсин", "киви"] по этому индексу;
- затем запрашивает число и пытается вычислить «магическое число»: 100 / (5 - введённое_число).
Обработайте разными обработчиками возможные исключения:
ValueError — если пользователь ввёл не число там, где это ожидается.
IndexError — если индекс выходит за границы списка.
ZeroDivisionError — если в формуле 100 / (5 - число) знаменатель равен нулю (то есть, если пользователь ввёл 5).
Любое другое исключение (Exception) — для перехвата непредвиденных ошибок. Для этого общего случая выведите информацию об исключении, используя as e.
33
Задание 3
Блок-схема
Код программы
34
Задание 3
Пример запуска программы
35
Задание 4
Условие
Вы пишете систему регистрации героя для текстовой игры.
Программа должна:
- запросить у пользователя ввести имя героя (строку);
- проверить введённое имя по следующим правилам:
1) Имя не должно быть пустым.
2) Длина имени должна быть от 2 до 20 символов.
3) Если имя не соответствует какому-либо правилу, программа должна выбросить исключение ValueError с понятным сообщением об ошибке.
Используйте конструкцию try-except-finally:
- в блоке try происходит ввод и проверка имени;
- в блоке except перехватывается ValueError и выводится сообщение об ошибке;
- в блоке finally выполняется гарантированное действие — вывод на экран итогового статуса регистрации. Например: Проверка имени героя завершена.
Если имя прошло все проверки, программа должна вывести приветственное сообщение.
36
Задание 4
Блок-схема
Код программы
37
Задание 4
Пример запуска программы
38
Задание 5
Условие
Напишите программу, которая моделирует простую игру: битва с драконом. У дракона есть здоровье = 100.
Программа в цикле предлагает «нанести удар» (ввести число от 1 до 20) или «выйти» (ввести 0).
1) Если сила удара будет превышать 20 урона, то меч сломается и игра завершиться поражением.
2) Если количество ударов будет превышать 10, то результат «Герой устал махать мечом в пустую». От здоровья отнимается введённое число.
3) Если здоровье опускается до 0 или ниже, игра завершается поражением.
Обработайте исключения:
ValueError — если введено не число.
если здоровье ушло в минус (моделируйте это условием if health <= 0).
Используйте блок finally, чтобы гарантированно выводить итоговое состояние здоровья и количество сделанных ходов после каждой игровой итерации, независимо от того, была ошибка ввода или игра завершилась нормально.
39
Задание 5
Блок-схема
40
Задание 5
Код программы
41
Задание 5
Пример запуска программы
42
Рефлексия
В процессе разработки проекта мы столкнулись с задачей визуального отображения логики обработки исключений в блок-схемах. Одновременно возникла трудность дидактического характера: необходимо было выделить абсолютно базовую информацию по теме, отделив её от второстепенных деталей. Мы не могли точно знать, с каким уровнем подготовки учащихся столкнёмся, поэтому приняли решение ориентироваться строго на темы, из списка основных.
Удалось заложить хорошую основу проекта. Нам помогла понятная аналогия с утренними делами — она связала жизненную ситуацию с абстрактной темой исключений. Также мы сделали интерактивные тесты по нашей теории, которые помогают сразу проверить, понял ли материал слушатель.
Из улучшений мы видим работу над оформлением. Блок-схемы правильные, но их можно сделать ярче и современнее, чтобы они лучше привлекали внимание. Ещё было бы здорово добавить короткие видео с запуском программ — так работа кода станет более наглядной и живой.
Обработка исключений в Python
(try-except-finally)
Show answer
Auto Play
Slide 1 / 42
SLIDE
Similar Resources on Wayground
37 questions
English 26/04
Presentation
•
KG
34 questions
Unit 2 Review: The Internet
Presentation
•
9th - 12th Grade
36 questions
Vocabulary for IELTS - Lesson 3 - Diet, health and exercise
Presentation
•
9th Grade - University
38 questions
Complex Operations
Presentation
•
10th - 12th Grade
34 questions
5.7 DATA MINING
Presentation
•
9th - 12th Grade
38 questions
Animal Behavior Lesson
Presentation
•
9th - 12th Grade
34 questions
For цикл
Presentation
•
KG
37 questions
Review: Measurement and Sig Figs
Presentation
•
10th - 12th Grade
Popular Resources on Wayground
28 questions
US History Regents Review
Quiz
•
11th Grade
36 questions
Biology Regents Review
Quiz
•
9th - 10th Grade
20 questions
Math Review
Quiz
•
3rd Grade
38 questions
Regents Life Science General Review
Quiz
•
9th Grade
20 questions
Math Review
Quiz
•
6th Grade
21 questions
EOY Grade 6 Benchmark Assessment - Content Skills
Quiz
•
6th Grade
20 questions
Inferences
Quiz
•
4th Grade
20 questions
Figurative Language Review
Quiz
•
6th Grade
Discover more resources for Information Technology (IT)
28 questions
US History Regents Review
Quiz
•
11th Grade
36 questions
Biology Regents Review
Quiz
•
9th - 10th Grade
38 questions
Regents Life Science General Review
Quiz
•
9th Grade
45 questions
Earth and Space Science Regents: Exam Cram
Presentation
•
7th - 12th Grade
36 questions
NYS Biology Regents Exam: Word on the Street
Quiz
•
10th Grade
50 questions
Global Regents Review 1
Quiz
•
10th Grade
6 questions
Regression Practice
Quiz
•
9th Grade
50 questions
Earth Science Regents Review
Quiz
•
10th Grade