Определение пользовательских исключений в Python

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Пользовательские исключения определяются классами.

class NetworkError(Exception):
    pass

Исключения всегда наследуются от Exception.

Обычно они являются пустыми классами. Используйте pass для тела класса.

Вы также можете создать иерархию своих исключений.

class AuthenticationError(NetworkError):
     pass

class ProtocolError(NetworkError):
    pass

Упражнение 4.11: Определение пользовательского исключения

Часто считается хорошей практикой для библиотек определять свои собственные исключения.

Это делает легче различать между исключениями Python, возникающими в ответ на общие ошибки программирования, и исключениями, которые специально вызывает библиотека, чтобы сигнализировать о конкретной проблеме использования.

Измените функцию create_formatter() из предыдущего упражнения так, чтобы она вызывала пользовательское исключение FormatError, когда пользователь указывает неправильное имя формата.

Например:

>>> from tableformat import create_formatter
>>> formatter = create_formatter('xls')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "tableformat.py", line 80, in create_formatter
    raise FormatError(f"Unknown table format {name}")
tableformat.FormatError: Unknown table format xls
>>>
✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили лабораторную работу по определению исключений. Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.