Архитектурная роль
Модуль 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).