← Назад ко всем вопросам

Какие знаешь виды исключений в 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 помогают сделать код более надежным и устойчивым к ошибкам, позволяя обрабатывать неожиданные ситуации и продолжать выполнение программы.

Тема: Python
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки