Junior
26
0
questionbank

Расскажите об иерархии исключений в Python.

Answer from sobes.tech neural network

В Python исключения организованы в иерархическое дерево, вершиной которого является класс BaseException.

Основные ветви и классы:

  • BaseException: Базовый класс для всех исключений. Не предназначен для прямого перехвата в большинстве случаев.
    • SystemExit: Возникает при выходе из программы, например, по вызову sys.exit().
    • KeyboardInterrupt: Генерируется при прерывании выполнения программы пользователем (обычно Ctrl+C).
    • GeneratorExit: Возникает при закрытии генератора.
    • Exception: Базовый класс для большинства обрабатываемых исключений. Именно его обычно перехватывают в блоках except.
      • StopIteration: Генерируется итератором, чтобы сигнализировать об отсутствии элементов.
      • ArithmeticError: Базовый класс для ошибок в арифметических операциях.
        • FloatingPointError: Ошибка операций с плавающей точкой (редко).
        • OverflowError: Результат арифметической операции слишком велик.
        • ZeroDivisionError: Деление на ноль.
      • AssertionError: Ошибка при неудачном assert.
      • AttributeError: Попытка доступа к несуществующему атрибуту объекта.
      • EOFError: Ошибка при достижении конца файла без чтения данных.
      • ImportError: Ошибка при невозможности импортировать модуль/имя.
        • ModuleNotFoundError: Модуль не найден.
      • LookupError: Базовый класс для ошибок при поиске по ключу/индексу.
        • IndexError: Неверный индекс последовательности.
        • KeyError: Неверный ключ в словаре.
      • NameError: Попытка использования неопределенной переменной/имени.
        • UnboundLocalError: Попытка доступа к локальной переменной в функции до присвоения ей значения.
      • OSError: Ошибки, связанные с операционной системой (файлы, процессы и т.д.). Включает множество подкла

В Python исключения организованы в иерархическое дерево, вершиной которого является класс BaseException.

Основные ветви и классы:

  • BaseException: Базовый класс для всех исключений. Не предназначен для прямого перехвата в большинстве случаев.
    • SystemExit: Возникает при выходе из программы, например, по вызову sys.exit().
    • KeyboardInterrupt: Генерируется при прерывании выполнения программы пользователем (обычно Ctrl+C).
    • GeneratorExit: Возникает при закрытии генератора.
    • Exception: Базовый класс для большинства обрабатываемых исключений. Именно его обычно перехватывают в блоках except.
      • StopIteration: Генерируется итератором, чтобы сигнализировать об отсутствии элементов.
      • ArithmeticError: Базовый класс для ошибок в арифметических операциях.
        • FloatingPointError: Ошибка операций с плавающей точкой (редко).
        • OverflowError: Результат арифметической операции слишком велик.
        • ZeroDivisionError: Деление на ноль.
      • AssertionError: Ошибка при неудачном assert.
      • AttributeError: Попытка доступа к несуществующему атрибуту объекта.
      • EOFError: Ошибка при достижении конца файла без чтения данных.
      • ImportError: Ошибка при невозможности импортировать модуль/имя.
        • ModuleNotFoundError: Модуль не найден.
      • LookupError: Базовый класс для ошибок при поиске по ключу/индексу.
        • IndexError: Неверный индекс последовательности.
        • KeyError: Неверный ключ в словаре.
      • NameError: Попытка использования неопределенной переменной/имени.
        • UnboundLocalError: Попытка доступа к локальной переменной в функции до присвоения ей значения.
      • OSError: Ошибки, связанные с операционной системой (файлы, процессы и т.д.). Включает множество подкла

Register or sign in to get access to full answers for all questions from the question bank.

exception-handlingerror-hierarchybuilt-in-exceptionscustom-exceptionscontrol-flowdebugging