Какие знаешь виды исключений в Python
1️⃣ Как кратко ответить
В Python исключения делятся на встроенные и пользовательские. Встроенные исключения включают SyntaxError, TypeError, ValueError, IndexError, KeyError, AttributeError, IOError, ZeroDivisionError и другие. Пользовательские исключения создаются путем наследования от класса Exception.
2️⃣ Подробное объяснение темы
Исключения в Python — это механизм обработки ошибок, который позволяет программе продолжать выполнение после возникновения ошибки. Исключения делятся на два основных типа: встроенные и пользовательские.
Встроенные исключения — это стандартные исключения, которые предоставляет сам Python. Они охватывают широкий спектр ошибок, которые могут возникнуть во время выполнения программы. Вот некоторые из них:
-
SyntaxError: Возникает, когда в коде обнаружена синтаксическая ошибка. Например, отсутствие двоеточия в конце определения функции. -
TypeError: Возникает, когда операция или функция применяется к объекту неподходящего типа. Например, попытка сложить строку и число. -
ValueError: Возникает, когда функция получает аргумент правильного типа, но с некорректным значением. Например, преобразование строки "abc" в число. -
IndexError: Возникает, когда индекс выходит за пределы диапазона последовательности, например, списка или кортежа. -
KeyError: Возникает, когда запрашивается несуществующий ключ в словаре. -
AttributeError: Возникает, когда объект не имеет запрашиваемого атрибута. -
IOError: Возникает при ошибках ввода-вывода, например, при попытке открыть несуществующий файл. -
ZeroDivisionError: Возникает при делении на ноль.
Пример использования встроенных исключений:
try:
result = 10 / 0
except ZeroDivisionError:
print("Деление на ноль невозможно.")
В этом примере мы пытаемся разделить число на ноль, что вызывает ZeroDivisionError. Блок except перехватывает это исключение и выводит сообщение.
Пользовательские исключения создаются для обработки специфических ошибок, которые не охватываются встроенными исключениями. Для создания пользовательского исключения необходимо создать новый класс, который наследуется от класса Exception.
Пример создания и использования пользовательского исключения:
class CustomError(Exception):
"""Класс для пользовательского исключения."""
pass
def check_value(value):
if value < 0:
raise CustomError("Значение не может быть отрицательным.")
try:
check_value(-1)
except CustomError as e:
print(f"Обнаружено пользовательское исключение: {e}")
В этом примере мы создаем пользовательское исключение CustomError, которое вызывается, если переданное значение меньше нуля. Блок except перехватывает это исключение и выводит сообщение.
Исключения в Python помогают сделать код более надежным и устойчивым к ошибкам, позволяя обрабатывать неожиданные ситуации и продолжать выполнение программы.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться