Курс Python → Работа с исключениями в Python
Когда мы работаем с исключениями в Python, важно помнить о том, что переменная, к которой было привязано исключение с помощью ключевого слова «as», будет удалена в конце блока except. Это происходит потому, что исключения создают ссылочный цикл с фреймом стека, что может привести к утечкам памяти. Поэтому для того чтобы иметь возможность обратиться к исключению после блока except, необходимо присвоить его другой переменной.
Например, если у нас есть блок try-except, где мы ловим исключение и хотим обратиться к нему позже, мы должны присвоить его другой переменной. Например:
try:
# какой-то код, который может вызвать исключение
except Exception as e:
my_exception = e
Теперь мы можем обращаться к исключению, которое было сохранено в переменной my_exception, после блока except. Это позволяет нам проводить дополнительные действия с этим исключением или выводить его информацию, не беспокоясь о его удалении.
Важно помнить, что если не присвоить исключение другой переменной в блоке except, оно будет удалено в конце блока, и обратиться к нему уже не удастся. Поэтому всегда следует быть внимательным при работе с исключениями и корректно обрабатывать их для избежания потенциальных проблем с утечкой памяти.
Другие уроки курса "Python"
- Изменяемые и неизменяемые объекты
- Создание таблиц в Python с PrettyTable
- Создание списка через итерацию
- Метод split() в Python
- Строковое представление объектов
- Логирование с Logzero
- Поиск частого элемента
- Округление в Python
- Множественное назначение в Python
- Нан-рефлексивность в Python
- Метод count в Python: почему count(», ») возвращает 4?
- Разделение строки с регулярными выражениями
- Оценка точности модели
- Работа со строками в Python
- %pinfo: получение информации об объекте
- Метод clear для коллекций
- Операции с массивами в NumPy
- Преобразование в float
- Создание детектора плагиата
- Разбиение строки в Python
- Подчеркивание в REPL
- Фильтрация данных в Python.
- Запуск внешнего кода в Jupyter
- Работа с буфером обмена на Python
- Управление виртуальными окружениями в Python
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Оформление кода на Python
- Метод сравнения объектов в Python
- Декоратор Property в Python
- Удаление специальных символов
- Подсчет элементов с помощью Counter из collections
- Разделение функций на этапы
- Распаковка элементов массива
- Лямбда-функции в defaultdict
- Фильтрация списков с itertools
- Глобальные переменные в Python
- PrettyTable: создание таблицы
- Создание и использование модулей в Python
- Повторение и перенос строки
- Удаление элементов из списка в Python.
- Генератор бросков кубиков
- Функции all() и any() в Python
- Декораторы в Python
- Работа с deque из collections
- Сортировка элементов в Python















