config.errors

错误类

Exceptions

ComponentMemberMismatchError

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

ComponentMetadataException

组件元数据异常

ConfigDataPathSyntaxException

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

ConfigDataReadOnlyError

配置数据为只读

ConfigDataTypeError

配置数据类型错误

CyclicReferenceError

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

DependencyNotFoundError

依赖缺失

FailedProcessConfigFileError

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

RequiredPathNotFoundError

需求的键未找到错误

UnknownErrorDuringValidateError

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

UnknownTokenTypeError

未知的标志类型

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 ConfigDataPathSyntaxException(token_info: TokenInfo, msg: str | None = None)

Bases: Exception

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

参数:
  • token_info (TokenInfo) -- token相关信息

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

小技巧

错误信息获取优先级

1.msg参数

2.类字段msg (供快速创建子类)

在 0.3.0 版本发生变更: 现在传入的错误消息不再软要求带冒号

__str__() str

Return str(self).

msg: str
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

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 UnknownTokenTypeError(token_info: TokenInfo, msg: str | None = None)

Bases: ConfigDataPathSyntaxException

未知的标志类型

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

参数:
  • token_info (TokenInfo) -- token相关信息

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

小技巧

错误信息获取优先级

1.msg参数

2.类字段msg (供快速创建子类)

在 0.3.0 版本发生变更: 现在传入的错误消息不再软要求带冒号

__str__() str

Return str(self).

msg = 'Unknown token type'
token_info
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

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

current_key: KeyInfo.K

当前键

index: int

current_key在path的下标

path: config.abc.ABCPath[KeyInfo.K]

当前完整路径

property relative_keys: collections.abc.Iterable[K]

从根到当前键的相对路径

class TokenInfo

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

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 版本加入.

参数:
__call__(*args: Any, **kwargs: Any) Never
__delattr__(name: str) Never
__delitem__(key: Any) Never
__getattribute__(name: str) Never
__getitem__(item: Any) Never
__iter__() Never
__next__() Never
__repr__() str
__setattr__(name: str, value: Any) Never
__setitem__(key: Any, value: Any) Never
__slots__ = ('_name', '_reason')