Documentation ¶
Overview ¶
Package gerror 提供了丰富的错误处理功能。
维护者请注意, 该包是一个基础包,除标准库和内部包外,**不应该**引入额外的包,以避免循环导入问题。
Index ¶
- func HasError别名(err, target error) bool
- func NewWithOption(option Option) error
- func X创建(错误文本 string) error
- func X创建并格式化(格式 string, 参数 ...interface{}) error
- func X创建并跳过堆栈(跳过堆栈 int, 错误文本 string) error
- func X创建并跳过堆栈与格式化(跳过堆栈 int, 格式 string, 参数 ...interface{}) error
- func X创建错误码(错误码 错误码类.Code, 错误文本 ...string) error
- func X创建错误码并格式化(错误码 错误码类.Code, 格式 string, 参数 ...interface{}) error
- func X创建错误码并跳过堆栈(错误码 错误码类.Code, 跳过堆栈 int, 错误文本 ...string) error
- func X创建错误码并跳过堆栈与格式化(错误码 错误码类.Code, 跳过堆栈 int, 格式 string, ...) error
- func X判断是否带堆栈(错误 error) bool
- func X取下一层错误(错误 error) error
- func X取当前错误(错误 error) error
- func X取文本(错误 error) string
- func X取根错误(错误 error) error
- func X取错误码(错误 error) 错误码类.Code
- func X多层错误(上一层错误 error, 错误文本 string) error
- func X多层错误并格式化(上一层错误 error, 格式 string, 参数 ...interface{}) error
- func X多层错误并跳过堆栈(跳过堆栈 int, 上一层错误 error, 错误文本 string) error
- func X多层错误并跳过堆栈与格式化(跳过堆栈 int, 上一层错误 error, 格式 string, 参数 ...interface{}) error
- func X多层错误码(错误码 错误码类.Code, 上一层错误 error, 错误文本 ...string) error
- func X多层错误码并格式化(错误码 错误码类.Code, 上一层错误 error, 格式 string, ...) error
- func X多层错误码并跳过堆栈(错误码 错误码类.Code, 跳过堆栈 int, 上一层错误 error, ...) error
- func X多层错误码并跳过堆栈与格式化(错误码 错误码类.Code, 跳过堆栈 int, 上一层错误 error, ...) error
- func X是否包含(err, 待比较 error) bool
- func X是否包含错误码(错误 error, 错误码 错误码类.Code) bool
- func X是否相等(err, 待比较 error) bool
- type Error
- func (err *Error) Cause() error
- func (err *Error) Code() 错误码类.Code
- func (err *Error) Current() error
- func (err *Error) Equal(target error) bool
- func (err *Error) Error() string
- func (err *Error) Format(s fmt.State, verb rune)
- func (err *Error) Is(target error) bool
- func (err Error) MarshalJSON() ([]byte, error)
- func (err *Error) SetCode(code 错误码类.Code)
- func (err *Error) Stack() string
- func (err *Error) Unwrap() error
- type ICause
- type ICode
- type ICurrent
- type IEqual
- type IIs
- type IStack
- type IUnwrap
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewWithOption ¶
NewWithOption 根据选项创建并返回一个自定义错误。 这是用于创建错误的高级用法,常在框架内部使用。
func X创建并跳过堆栈与格式化 ¶
NewSkipf 返回一个格式化为给定格式和参数的错误。 参数 `skip` 指定了跳过的调用栈层数量。
func X创建错误码并格式化 ¶
NewCodef返回一个错误,该错误包含错误代码,并使用给定的格式和参数进行格式化。
func X创建错误码并跳过堆栈 ¶
NewCodeSkip 创建并返回一个错误,该错误包含错误代码,并根据给定文本格式化而成。 参数`skip`用于指定跳过堆栈调用者的数量。
func X创建错误码并跳过堆栈与格式化 ¶
NewCodeSkipf 返回一个具有错误代码且格式化为给定格式和参数的错误。 参数 `skip` 指定了要跳过的堆栈调用者数量。
func X取错误码 ¶
func X取错误码(错误 error) 错误码类.Code
Code 返回当前错误的错误代码。 如果该错误没有错误代码,或者未实现 Code 接口,它将返回 `CodeNil`。
func X多层错误并格式化 ¶
Wrapf 返回一个错误,该错误在Wrapf调用的位置添加了堆栈跟踪信息以及格式化说明符。 如果给出的`err`为nil,则返回nil。 注意,它不会丢失被包装错误的错误码,因为它会继承该错误的错误码。
func X多层错误并跳过堆栈 ¶
WrapSkip 用于用文本包装错误。如果给定的 err 为 nil,则返回 nil。 参数 `skip` 指定了跳过的堆栈调用者数量。 注意,它不会丢失包装错误的错误码,因为它会继承该错误的错误码。
func X多层错误并跳过堆栈与格式化 ¶
WrapSkipf 通过给定的格式和参数对错误进行包装并添加文本描述。如果给定的err为nil,此函数将返回nil。 参数`skip`用于指定跳过堆栈调用者的数量。 注意,它不会丢失包装错误的错误码,因为它会继承该错误的错误码。 以下是翻译后更详尽的中文注释: ```go WrapSkipf 函数用于对传入的错误 err 进行包装,同时使用给定的 format 和 args 格式化输出附加的错误信息。 若传入的原始错误 err 为 nil,则 WrapSkipf 函数直接返回 nil。 参数 `skip` 指定了在获取堆栈信息时需要跳过的调用层级数量。 需要注意的是,WrapSkipf 在对错误进行包装的过程中,会保留原始错误的错误代码,因为它从原始错误中继承了该错误代码属性。
func X多层错误码并格式化 ¶
WrapCodef 将错误用代码和格式符包装起来。 如果给出的 `err` 为 nil,则返回 nil。
func X多层错误码并跳过堆栈 ¶
WrapCodeSkip 通过代码和文本包装错误。 如果给出的 err 为 nil,则返回 nil。 参数 `skip` 指定了需要跳过的堆栈调用者数量。
func X多层错误码并跳过堆栈与格式化 ¶
WrapCodeSkipf 对给定的错误 err 进行包装,添加代码和格式化后的文本信息。如果给定的 err 为 nil,则返回 nil。 参数 `skip` 指定了需要跳过的堆栈调用者数量。
Types ¶
type Error ¶
type Error struct {
// contains filtered or unexported fields
}
Error 是自定义错误类型,用于提供额外功能。
func (*Error) Equal ¶
Equal 判断当前错误 `err` 是否与目标错误 `target` 相等。 请注意,在默认的 `Error` 比较方式下, 如果两个错误的 `code` 和 `text` 都相同,则认为它们是相同的错误。
func (*Error) Format ¶
Format 根据 fmt.Formatter 接口格式化帧。
%v, %s : 打印所有错误字符串; %-v, %-s : 打印当前层级的错误字符串; %+s : 打印完整的堆栈错误列表; %+v : 打印错误字符串以及完整的堆栈错误列表
func (*Error) Is ¶
Is 报告当前错误 `err` 在其链式错误中是否包含错误 `target`。 这只是为了实现从 Go 1.17 版本开始的stdlib errors.Is功能。
func (Error) MarshalJSON ¶
MarshalJSON 实现了 json.Marshal 接口所需的 MarshalJSON 方法。 注意:此处接收者不使用指针。