config.errors

错误类

Exceptions

ComponentMemberMismatchError

组件成员元数据与成员不匹配错误

ComponentMetadataException

组件元数据异常

ConfigDataPathSyntaxError

配置数据检索路径语法错误

ConfigDataPathSyntaxWarning

配置数据检索路径语法警告

ConfigDataReadOnlyError

配置数据为只读

ConfigDataTypeError

配置数据类型错误

CyclicReferenceError

配置数据存在循环引用错误

DependencyNotFoundError

依赖缺失

FailedProcessConfigFileError

SL处理器无法正确处理当前配置文件

RequiredPathNotFoundError

需求的键未找到错误

UnknownErrorDuringValidateError

在验证配置数据时发生未知错误

UnsupportedConfigFormatError

不支持的配置文件格式错误

Classes

ConfigOperate

对配置的操作类型

KeyInfo

一段路径的相关信息 用于快速定位到指定键

TokenInfo

一段标记的相关信息 用于快速定位到指定标记

UnavailableAttribute

占位代理对象,在任意访问时抛出异常

Module Contents

exception ComponentMemberMismatchError(missing: set[str], redundant: set[str])

Bases: ComponentMetadataException

组件成员元数据与成员不匹配错误

在 0.3.0 版本加入.

参数:
  • missing (set[str]) -- 缺少的成员

  • redundant (set[str]) -- 冗余的成员

__str__() str

Return str(self).

missing
redundant
exception ComponentMetadataException

Bases: LookupError

组件元数据异常

在 0.3.0 版本加入.

Initialize self. See help(type(self)) for accurate signature.

exception ConfigDataPathSyntaxError(msg: str, token_info: TokenInfo)

Bases: Exception

配置数据检索路径语法错误

在 0.3.2 版本加入.

参数:
  • msg (str) -- 错误信息

  • token_info (TokenInfo) -- token相关信息

__str__() str

Return str(self).

msg
token_info
exception ConfigDataPathSyntaxWarning(msg: str, token_info: TokenInfo)

Bases: SyntaxWarning

配置数据检索路径语法警告

在 0.3.2 版本加入.

参数:
  • msg (str) -- 警告信息

  • token_info (TokenInfo) -- token相关信息

__str__() str

Return str(self).

msg
token_info
exception ConfigDataReadOnlyError(msg: str | None = None)

Bases: TypeError

配置数据为只读

在 0.1.3 版本加入.

参数:

msg (str | None) -- 错误信息

exception ConfigDataTypeError(key_info: KeyInfo[Any], required_type: tuple[type, Ellipsis] | type, current_type: type)

Bases: ValueError

配置数据类型错误

参数:
  • key_info (KeyInfo) -- 键相关信息

  • required_type (tuple[type, ...] | type) -- 该键需求的数据类型

  • current_type (type) -- 当前键的数据类型

在 0.1.4 版本发生变更: required_type 支持传入多个需求的数据类型

在 0.2.0 版本发生变更: 重命名参数 now_typecurrent_type

current_type
key_info
requited_type
exception CyclicReferenceError(key_info: KeyInfo[Any])

Bases: ValueError

配置数据存在循环引用错误

在 0.2.0 版本加入.

参数:

key_info (KeyInfo[Any]) -- 检测到循环引用的键信息

__str__() str

Return str(self).

key_info
exception DependencyNotFoundError(dep_name: str, description: str | None = None)

Bases: ImportError

依赖缺失

在 0.3.0 版本加入.

参数:
  • dep_name (str) -- 依赖名称

  • description (str | None) -- 描述信息

dep_name
exception FailedProcessConfigFileError[E: Exception]

Bases: ExceptionGroup

SL处理器无法正确处理当前配置文件

在 0.1.4 版本发生变更: 现在继承自 BaseExceptionGroup

在 0.3.0 版本发生变更: 现在正确的继承自 ExceptionGroup 移除冗余属性 reasons

Initialize self. See help(type(self)) for accurate signature.

exception RequiredPathNotFoundError(key_info: KeyInfo[Any], operate: ConfigOperate = ConfigOperate.Unknown)

Bases: LookupError

需求的键未找到错误

在 0.1.5 版本发生变更: 现在继承自LookupError

参数:
  • key_info (KeyInfo) -- 键相关信息

  • operate (ConfigOperate) -- 何种操作过程中发生的该错误

__str__() str

Return str(self).

key_info
operate
exception UnknownErrorDuringValidateError(*args: Any, **kwargs: Any)

Bases: Exception

在验证配置数据时发生未知错误

在 0.1.3 版本发生变更: 重命名 UnknownErrorDuringValidateUnknownErrorDuringValidateError

参数:
  • args -- 未知错误信息

  • kwargs -- 未知错误信息

exception UnsupportedConfigFormatError(_format: str | None)

Bases: Exception

不支持的配置文件格式错误

备注

format 可以为 None 这表示 未指定配置格式 。 在一些情况下 None 是有效的配置格式,如表示 默认 。 此错误以 None 为参数抛出时表示 我找到了配置格式None,但是我不支持None作为配置格式

参数:

_format (str | None) -- 不支持的配置的文件格式

在 0.3.0 版本发生变更: 重命名参数 format__format 更改参数 _format 类型为 str | None

__eq__(other: Any) bool

Return self==value.

__hash__() int

在 0.3.0 版本加入.

__str__() str

Return str(self).

_format
property format: str | None

不支持的配置的文件格式

class ConfigOperate

Bases: enum.Enum

对配置的操作类型

Delete = 'Delete'
Read = 'Read'
Unknown = None
Write = 'Write'
class KeyInfo[K: config.abc.AnyKey]

一段路径的相关信息 用于快速定位到指定键

在 0.3.2 版本发生变更: 字段 current_key 由传入变为自动推导

字段 index 将始终为正数

变更为不可变类型

__post_init__() None
property current_key: K

当前键

index: int

current_key在path的下标

path: config.abc.ABCPath[K]

当前完整路径

property relative_keys: collections.abc.Iterable[K]

从根到当前键的相对路径

class TokenInfo

一段标记的相关信息 用于快速定位到指定标记

在 0.3.2 版本发生变更: 字段 current_token 由传入变为自动推导

字段 index 将始终为正数

变更为不可变类型

__post_init__() None
property current_token: str

当前标记

index: int

current_token在tokens的下标

property raw_string: str

标记的原始字符串

tokens: tuple[str, Ellipsis]

当前完整标记列表

class UnavailableAttribute(name: str, reason: Exception)

占位代理对象,在任意访问时抛出异常

在 0.3.0 版本加入.

参数:
  • name (str) -- 属性名

  • reason (Exception) -- 抛出的异常

__bool__() Never
__call__(*args: Any, **kwargs: Any) Never
__contains__(item: object) Never
__copy__() Never
__deepcopy__(memo: dict[object, object]) Never
__delattr__(name: str) Never
__delete__(instance: object) Never
__delitem__(key: Any) Never
__get__(instance: object, owner: type[object]) Never
__getattribute__(name: str) Never
__getitem__(item: Any) Never
__hash__() Never
__iter__() Never
__len__() Never
__next__() Never
__repr__() str
__set__(instance: object, value: object) Never
__setattr__(name: str, value: Any) Never
__setitem__(key: Any, value: Any) Never
__slots__ = ('_name', '_reason')