/
disciplina
/
stepik-python-debugging
Обзор
Документация
Войти
/
disciplina
/
stepik-python-debugging
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
lessons/module1/1.2/lesson2.step
18 строк
11 KB
Sergey
Вторая версия курса
27 янв 2026, 21:14
27 янв 2026, 21:14
79b9655
Код
Авторство
О чём код?
{ "block": { "name": "text", "text": "<h2>Таблица встроенных исключений Python</h2>\n\n<p>Python предоставляет богатый набор встроенных исключений для различных типов ошибок. Знание этих исключений поможет вам эффективно обрабатывать ошибки и понимать причины их возникновения.</p>\n\n<h3>Базовые классы исключений</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Назначение</th>\n</tr>\n<tr>\n<td><code>BaseException</code></td>\n<td>Базовый класс для всех исключений (не наследуйте напрямую)</td>\n</tr>\n<tr>\n<td><code>Exception</code></td>\n<td>Базовый класс для всех несистемных исключений (наследуйте от этого класса)</td>\n</tr>\n<tr>\n<td><code>ArithmeticError</code></td>\n<td>Базовый класс для ошибок в числовых операциях</td>\n</tr>\n<tr>\n<td><code>LookupError</code></td>\n<td>Базовый класс для ошибок при обращении по недопустимому ключу/индексу</td>\n</tr>\n<tr>\n<td><code>BufferError</code></td>\n<td>Ошибки операций с буфером</td>\n</tr>\n</table>\n\n<h3>Системные исключения</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>SystemExit</code></td>\n<td>Вызывается функцией <code>sys.exit()</code> для завершения программы</td>\n</tr>\n<tr>\n<td><code>KeyboardInterrupt</code></td>\n<td>Пользователь нажал Ctrl+C для прерывания программы</td>\n</tr>\n<tr>\n<td><code>GeneratorExit</code></td>\n<td>Вызывается при закрытии генератора методом <code>close()</code></td>\n</tr>\n</table>\n\n<h3>Распространённые исключения</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>AssertionError</code></td>\n<td>Оператор <code>assert</code> не выполнен</td>\n</tr>\n<tr>\n<td><code>AttributeError</code></td>\n<td>Обращение к несуществующему атрибуту объекта или неудачное присваивание атрибута</td>\n</tr>\n<tr>\n<td><code>IndexError</code></td>\n<td>Индекс последовательности выходит за допустимые границы</td>\n</tr>\n<tr>\n<td><code>KeyError</code></td>\n<td>Ключ не найден в словаре</td>\n</tr>\n<tr>\n<td><code>NameError</code></td>\n<td>Локальное или глобальное имя не найдено</td>\n</tr>\n<tr>\n<td><code>TypeError</code></td>\n<td>Операция применена к объекту неподходящего типа</td>\n</tr>\n<tr>\n<td><code>ValueError</code></td>\n<td>Тип аргумента правильный, но значение неподходящее</td>\n</tr>\n<tr>\n<td><code>ZeroDivisionError</code></td>\n<td>Деление или взятие остатка от деления на ноль</td>\n</tr>\n</table>\n\n<h3>Арифметические исключения</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>FloatingPointError</code></td>\n<td>Ошибка операции с числами с плавающей точкой</td>\n</tr>\n<tr>\n<td><code>OverflowError</code></td>\n<td>Результат арифметической операции слишком большой для представления</td>\n</tr>\n<tr>\n<td><code>ZeroDivisionError</code></td>\n<td>Деление на ноль</td>\n</tr>\n</table>\n\n<h3>Исключения файловой системы и ОС</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>OSError</code></td>\n<td>Базовый класс для ошибок операционной системы</td>\n</tr>\n<tr>\n<td><code>FileNotFoundError</code></td>\n<td>Файл не существует</td>\n</tr>\n<tr>\n<td><code>FileExistsError</code></td>\n<td>Файл или директория уже существует</td>\n</tr>\n<tr>\n<td><code>PermissionError</code></td>\n<td>Недостаточно прав доступа для операции</td>\n</tr>\n<tr>\n<td><code>TimeoutError</code></td>\n<td>Системный вызов превысил время ожидания</td>\n</tr>\n<tr>\n<td><code>EOFError</code></td>\n<td>Функция <code>input()</code> достигла конца файла</td>\n</tr>\n</table>\n\n<h3>Исключения сетевых подключений</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>ConnectionError</code></td>\n<td>Базовый класс для проблем с подключением</td>\n</tr>\n<tr>\n<td><code>BrokenPipeError</code></td>\n<td>Попытка записи в pipe, который закрыт с другой стороны</td>\n</tr>\n<tr>\n<td><code>ConnectionAbortedError</code></td>\n<td>Подключение прервано</td>\n</tr>\n<tr>\n<td><code>ConnectionRefusedError</code></td>\n<td>Подключение отклонено</td>\n</tr>\n<tr>\n<td><code>ConnectionResetError</code></td>\n<td>Подключение сброшено</td>\n</tr>\n</table>\n\n<h3>Исключения импорта модулей</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>ImportError</code></td>\n<td>Ошибка импорта модуля</td>\n</tr>\n<tr>\n<td><code>ModuleNotFoundError</code></td>\n<td>Модуль не найден (подкласс <code>ImportError</code>)</td>\n</tr>\n</table>\n\n<h3>Исключения памяти и рекурсии</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>MemoryError</code></td>\n<td>Недостаточно памяти для операции</td>\n</tr>\n<tr>\n<td><code>RecursionError</code></td>\n<td>Превышена максимальная глубина рекурсии</td>\n</tr>\n<tr>\n<td><code>ReferenceError</code></td>\n<td>Попытка доступа к объекту через слабую ссылку после его удаления</td>\n</tr>\n</table>\n\n<h3>Исключения итераторов</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>StopIteration</code></td>\n<td>Итератор исчерпан (нет больше элементов)</td>\n</tr>\n<tr>\n<td><code>StopAsyncIteration</code></td>\n<td>Асинхронный итератор исчерпан</td>\n</tr>\n</table>\n\n<h3>Синтаксические исключения</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>SyntaxError</code></td>\n<td>Синтаксическая ошибка в коде</td>\n</tr>\n<tr>\n<td><code>IndentationError</code></td>\n<td>Неправильные отступы в коде</td>\n</tr>\n<tr>\n<td><code>TabError</code></td>\n<td>Смешивание табуляции и пробелов в отступах</td>\n</tr>\n</table>\n\n<h3>Прочие исключения</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Исключение</th>\n<th>Когда возникает</th>\n</tr>\n<tr>\n<td><code>RuntimeError</code></td>\n<td>Ошибка времени выполнения, не попадающая в другие категории</td>\n</tr>\n<tr>\n<td><code>NotImplementedError</code></td>\n<td>Абстрактный метод не реализован в подклассе</td>\n</tr>\n<tr>\n<td><code>SystemError</code></td>\n<td>Внутренняя ошибка интерпретатора Python</td>\n</tr>\n<tr>\n<td><code>UnboundLocalError</code></td>\n<td>Обращение к локальной переменной до её присваивания</td>\n</tr>\n</table>\n\n<h3>Категории предупреждений (Warnings)</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Предупреждение</th>\n<th>Назначение</th>\n</tr>\n<tr>\n<td><code>Warning</code></td>\n<td>Базовый класс для всех предупреждений</td>\n</tr>\n<tr>\n<td><code>DeprecationWarning</code></td>\n<td>Устаревшие возможности</td>\n</tr>\n<tr>\n<td><code>FutureWarning</code></td>\n<td>Предупреждения о будущих изменениях для конечных пользователей</td>\n</tr>\n<tr>\n<td><code>SyntaxWarning</code></td>\n<td>Сомнительный синтаксис</td>\n</tr>\n<tr>\n<td><code>RuntimeWarning</code></td>\n<td>Сомнительное поведение во время выполнения</td>\n</tr>\n<tr>\n<td><code>ImportWarning</code></td>\n<td>Вероятные ошибки при импорте</td>\n</tr>\n<tr>\n<td><code>UnicodeWarning</code></td>\n<td>Проблемы с Unicode</td>\n</tr>\n</table>\n\n<h3>Группы исключений (Python 3.11+)</h3>\n\n<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">\n<tr>\n<th>Класс</th>\n<th>Назначение</th>\n</tr>\n<tr>\n<td><code>ExceptionGroup</code></td>\n<td>Оборачивает несколько исключений типа <code>Exception</code></td>\n</tr>\n<tr>\n<td><code>BaseExceptionGroup</code></td>\n<td>Оборачивает любые исключения типа <code>BaseException</code></td>\n</tr>\n</table>\n\n<p>В следующем уроке мы визуализируем полную иерархию классов исключений Python.</p>", "video": null, "options": {}, "subtitle_files": [], "is_deprecated": false, "source": {}, "subtitles": {}, "tests_archive": null, "feedback_correct": "", "feedback_wrong": "" }, "id": null, "has_review": false, "time": "2026-01-27T00:00:00.000Z" }