Исключения в Python

Исключения включают в себя дочерние, соответственно BaseException включает в себя все исключения.


try: # Ловим исключение
    a = 3 / 0; # Если поделить на 0 будет исключение
except ZeroDivisionError:
    print('Исключение \'Деление на ноль\'')
except BaseException:
    print('Базовое исключение')
else:
    print('Выполняется если исключения не было')
finally:
    print('Выполняется в любом случае')

Виды исключений

BaseException - базовое исключение, от которого берут начало все остальные.

- SystemExit - исключение, порождаемое функцией sys.exit при выходе из программы.

- KeyboardInterrupt - порождается при прерывании программы пользователем (обычно сочетанием клавиш Ctrl+C).

- GeneratorExit - порождается при вызове метода close объекта generator.

- Exception - а вот тут уже заканчиваются полностью системные исключения (которые лучше не трогать) и начинаются обыкновенные, с которыми можно работать.

- StopIteration - порождается встроенной функцией next, если в итераторе больше нет элементов.

- ArithmeticError - арифметическая ошибка.

- FloatingPointError - порождается при неудачном выполнении операции с плавающей запятой. На практике встречается нечасто.

- OverflowError - возникает, когда результат арифметической операции слишком велик для представления. Не появляется при обычной работе с целыми числами (так как python поддерживает длинные числа), но может возникать в некоторых других случаях.

- ZeroDivisionError - деление на ноль.

- AssertionError - выражение в функции assert ложно.

- AttributeError - объект не имеет данного атрибута (значения или метода).

- BufferError - операция, связанная с буфером, не может быть выполнена.

- EOFError - функция наткнулась на конец файла и не смогла прочитать то, что хотела.

- ImportError - не удалось импортирование модуля или его атрибута.

- LookupError - некорректный индекс или ключ.

- IndexError - индекс не входит в диапазон элементов.

- KeyError - несуществующий ключ (в словаре, множестве или другом объекте).

- MemoryError - недостаточно памяти.

- NameError - не найдено переменной с таким именем.

- UnboundLocalError - сделана ссылка на локальную переменную в функции, но переменная не определена ранее.

- OSError - ошибка, связанная с системой.

- BlockingIOError

- ChildProcessError - неудача при операции с дочерним процессом.

- ConnectionError - базовый класс для исключений, связанных с подключениями.

- BrokenPipeError

- ConnectionAbortedError

- ConnectionRefusedError

- ConnectionResetError

- FileExistsError - попытка создания строках.

- UnicodeEncodeError - исключение, связанное с кодированием unicode.

- UnicodeDecodeError - исключение, связанное с декодированием unicode.

- UnicodeTranslateError - исключение, связанное с переводом unicode.

- Warning - предупреждение.

2024-06-29



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

Словари
Исключения
Файлы
Функции в Python
Списки
Циклы
Достоинства и недостатки языка Python
Целые, вещественные и комплексные числа в Python
ООП
Вывод текста
Множества
Строки
Синтаксис языка Python
Время выполнения программы на Python
Кортежи в Python
Типы данных