Урок 12: Исключения и обработка ошибок в Python

Исключения и обработка ошибок в Python

Краткое введение

Исключения в Python — это механизм для обработки ошибок и других необычных ситуаций во время выполнения программы. Обработка исключений помогает управлять ошибками более грациозно, предоставляя возможность выполнить определенные действия или продолжить выполнение программы, не прерывая ее полностью.

Теоретическая часть

Вызов исключений

Исключения вызываются в Python, когда интерпретатор сталкивается с ситуацией, которую он не может обработать, например, деление на ноль или доступ к несуществующему ключу в словаре. Вы можете также вызывать исключения вручную с помощью ключевого слова raise

Обработка исключений

Для обработки исключений используются блоки try и except. Код, который может вызвать исключение, помещается в блок try, а код для обработки исключения — в один или несколько блоков except.

Примеры кода

# Пример обработки исключения
try:
 x = 1 / 0
except ZeroDivisionError:
 print("Нельзя делить на ноль!")

# Использование нескольких блоков except
try:
 y = my_dict['nonexistent_key']
except KeyError:
 print("Такого ключа не существует!")
except Exception as e:
 print(f"Произошла ошибка: {str(e)}")

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

1. Напишите функцию для деления двух чисел, которая обрабатывает исключение деления на ноль и возвращает осмысленное сообщение об ошибке.
2. Создайте словарь и напишите код, который пытается получить значение по несуществующему ключу, обрабатывая исключение, чтобы избежать прерывания программы.

Решение задания

# Функция деления с обработкой исключения
def safe_divide(a, b):
 try:
 return a / b
 except ZeroDivisionError:
 return "Деление на ноль невозможно"

print(safe_divide(10, 0))

# Получение значения из словаря с обработкой исключения
my_dict = {'a': 1, 'b': 2}
try:
 value = my_dict['c']
except KeyError:
 value = "Ключ не найден"
print(value)

© 2024 realschule.ru

Категория: Python с нуля | Добавил: Admin (07.03.2024)
Просмотров: 50 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: