Архитектурная роль

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

Компоненты и логика

ParamNotFoundError

  • Назначение: Исключение, которое возникает, если при обработке конфигурационного файла не был найден искомый параметр.
  • Аргументы и связи:
  • param_name (str): Название параметра.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_config_obj).

EmptyValueError

  • Назначение: Исключение, которое возникает, если при обработке конфигурационного файла было найдено пустое значение.
  • Аргументы и связи:
  • param_name (str): Название параметра.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_config_obj).

ValueNotValidError

  • Назначение: Исключение, которое возникает, если при обработке конфигурационного файла было найдено недопустимое значение.
  • Аргументы и связи:
  • param_name (str): Название параметра.
  • current_value (str): Текущее значение.
  • valid_values (list[str | None]): Допустимые значения.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_config_obj).

ProductsFileNotFoundError

  • Назначение: Исключение, которое возникает, если при обработке конфигурационного файла автовыдачи не был найден указанный файл с товарами.
  • Аргументы и связи:
  • goods_file_path (str): Путь до товарного файла.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_auto_delivery_config).

NoProductsError

  • Назначение: Исключение, которое возникает, если в товарном файле, указанном в конфигурационном файле автовыдачи, нет товаров.
  • Аргументы и связи:
  • goods_file_path (str): Путь до товарного файла.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load _auto_delivery_config).

NotEnoughProductsError

  • Назначение: Исключение, которое возникает, если запрошено больше товаров, чем есть в товарном файле.
  • Аргументы и связи:
  • goods_file_path (str): Путь до товарного файла.
  • available (int): Количество товаров в файле.
  • requested (int): Количество запрошенного товара.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_auto_delivery_config).

NoProductVarError

  • Назначение: Исключение, которое возникает, если в конфигурационном файле автовыдачи указан файл с товарами, но в параметре response нет ни одной переменной $product.
  • Аргументы и связи: Нет.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_auto_delivery_config).

SectionNotFoundError

  • Назначение: Исключение, которое возникает, если при обработке конфигурационного файла не была найдена обязательная секция.
  • Аргументы и связи: Нет.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_config_obj).

SubCommandAlreadyExists

  • Назначение: Исключение, которое возникает, если при обработке конфигурационного файла автоответчика был найден дубликат суб-команды.
  • Аргументы и связи:
  • command (str): Команда.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_auto_response_config).

DuplicateSectionErrorWrapper

  • Назначение: Исключение, которое возникает, если при обработке конфигурационного файла было схвачено configparser.DuplicateSectionError.
  • Аргументы и связи: Нет.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_config_obj).

ConfigParseError

  • Назначение: Исключение, которое возникает, если при обработке конфигурационного файла произошла одна из ошибок, описанных выше.
  • Аргументы и связи:
  • config_path (str): Путь до конфигурационного файла.
  • section_name (str): Название секции.
  • exception (Exception): Исключение.
  • Взаимодействие: Вызывается при обработке конфигурационных файлов (load_config_obj).

FieldNotExistsError

  • Назначение: Исключение, которое возникает, если при загрузке плагина не было обнаружено переданное поле.
  • Аргументы и связи:
  • field_name (str): Название поля.
  • plugin_file_name (str): Имя файла плагина.
  • Взаимодействие: Вызывается при загрузке плагинов (Cardinal).

Граф зависимостей

  • Входящие зависимости: Cardinal, Handlers
  • Исходящие зависимости: — (нет)