错误类

package
v0.0.0-...-7e18bce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2024 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package gerror 提供了丰富的错误处理功能。

对于维护者,请注意,这个包是一个基础包,不应该导入除标准包和内部包以外的额外包,以避免循环导入。 md5:ee2cf0d4a8603263

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HasError别名

func HasError别名(err, target error) bool

HasError别名是Is的别名,它更易于理解语义。 md5:d84dea05563aadb6

func NewWithOption

func NewWithOption(option Option) error

NewWithOption 创建并返回一个带有选项的自定义错误。 这是创建错误的高级用法,通常在框架内部使用。 md5:0727fc0de90f397f

func X创建

func X创建(错误文本 string) error

X创建 创建并返回一个根据给定文本格式化的错误。 md5:de9ec7c958a945bb

func X创建并格式化

func X创建并格式化(格式 string, 参数 ...interface{}) error

X创建并格式化 返回一个根据给定格式和参数格式化的错误。 md5:bd62f35687f8bc83

func X创建并跳过堆栈

func X创建并跳过堆栈(跳过堆栈 int, 错误文本 string) error

X创建并跳过堆栈 创建并返回一个根据给定文本格式化的错误。参数 `skip` 指定了要跳过的调用者堆栈数量。 md5:22bec296ea4c17b0

func X创建并跳过堆栈与格式化

func X创建并跳过堆栈与格式化(跳过堆栈 int, 格式 string, 参数 ...interface{}) error

X创建并跳过堆栈与格式化 返回一个按照给定格式和参数格式化的错误。 参数 `skip` 指定了跳过调用栈的层数。 md5:82d8fef84b9d2ba0

func X创建错误码

func X创建错误码(错误码 gcode.Code, text ...string) error

X创建错误码 创建并返回一个具有错误代码和给定文本的错误。 md5:5f88f8ae1151acac

func X创建错误码并格式化

func X创建错误码并格式化(错误码 gcode.Code, format string, args ...interface{}) error

X创建错误码并格式化 返回一个具有错误代码,并按照给定格式和参数格式化的错误。 md5:bb6b90ee5a4ce175

func X创建错误码并跳过堆栈

func X创建错误码并跳过堆栈(错误码 gcode.Code, skip int, text ...string) error

X创建错误码并跳过堆栈 创建并返回一个带有错误码的错误,该错误根据给定的文本格式化。 参数 `skip` 指定了跳过的堆栈调用者数量。 md5:5c3aabed2ce89e0c

func X创建错误码并跳过堆栈与格式化

func X创建错误码并跳过堆栈与格式化(错误码 gcode.Code, skip int, format string, args ...interface{}) error

X创建错误码并跳过堆栈与格式化 返回一个具有指定错误代码和格式化参数的错误。 参数 `skip` 指定了要跳过的调用堆栈数量。 md5:ccd3b74e8b4f8acc

func X判断是否带堆栈

func X判断是否带堆栈(错误 error) bool

X判断是否带堆栈 检查并报告 `err` 是否实现了接口 `gerror.IStack`。 md5:f8ab57042234eea7

func X取下一层错误

func X取下一层错误(错误 error) error

X取下一层错误返回下一级错误。 如果当前级别或下一级错误为nil,则返回nil。 md5:97894c3cda2b0c4e

func X取当前错误

func X取当前错误(错误 error) error

X取当前错误 创建并返回当前级别的错误。如果当前级别错误为 nil,则返回 nil。 md5:d8b26e22ec63a837

func X取文本

func X取文本(错误 error) string

X取文本 返回调用堆栈作为字符串。 如果 `err` 不支持堆栈信息,它将直接返回错误字符串。 md5:bcba4c4f440cb0a7

func X取根错误

func X取根错误(错误 error) error

X取根错误 返回 `err` 的根本原因错误。 md5:3719c97ae5cd6a94

func X取错误码

func X取错误码(错误 error) gcode.Code

X取错误码 函数返回当前错误的错误代码。 如果它没有错误代码并且也没有实现 X取错误码 接口,它将返回 CodeNil。 md5:33b7429f6f7b3dbe

func X多层错误

func X多层错误(上一层错误 error, 错误文本 string) error

X多层错误 使用文本包装错误。如果给定的 err 为 nil,则返回 nil。 注意,它不会丢失被包裹错误的错误码,因为它从被包裹的错误中继承了错误码。 md5:e04f9222b50c8938

func X多层错误并格式化

func X多层错误并格式化(上一层错误 error, 格式 string, 参数 ...interface{}) error

X多层错误并格式化 会在调用 X多层错误并格式化 的位置为错误 err 添加一个堆栈跟踪信息,并使用格式化指定器。 如果给定的 `err` 为 nil,它将返回 nil。 请注意,它不会丢失被包装错误的错误代码,因为它从错误中继承了错误代码。 md5:cbfccfaa6fa0bee1

func X多层错误并跳过堆栈

func X多层错误并跳过堆栈(跳过堆栈 int, 上一层错误 error, 错误文本 string) error

X多层错误并跳过堆栈 使用文本包装错误。如果给定的 err 为 nil,它将返回 nil。 参数 `skip` 指定了跳过调用堆栈的层数。 注意,它不会丢失被包装错误的错误代码,因为它是从其继承错误代码的。 md5:5f87402ce06c586b

func X多层错误并跳过堆栈与格式化

func X多层错误并跳过堆栈与格式化(跳过堆栈 int, 上一层错误 error, 格式 string, 参数 ...interface{}) error

X多层错误并跳过堆栈与格式化 将错误用给定的格式和参数进行文本包装。如果给定的 err 为 nil,它将返回 nil。 参数 `skip` 指定了要跳过的调用栈层数。 注意,它不会丢失被包装错误的错误代码,因为它是从原始错误中继承错误代码的。 md5:82d4f5ae39c67b27

func X多层错误码

func X多层错误码(错误码 gcode.Code, err error, text ...string) error

X多层错误码 将错误与代码和文本一起包装。 如果给定的 err 为 nil,它将返回 nil。 md5:5e09a5ffb6fa4e21

func X多层错误码并格式化

func X多层错误码并格式化(错误码 gcode.Code, err error, format string, args ...interface{}) error

X多层错误码并格式化 将错误与代码和格式化占位符一起包装。 如果给定的 `err` 为 nil,它将返回 nil。 md5:ef3a7436eb342ff6

func X多层错误码并跳过堆栈

func X多层错误码并跳过堆栈(错误码 gcode.Code, skip int, err error, text ...string) error

X多层错误码并跳过堆栈 用于给错误附加代码和文本信息。 如果给定的err为nil,该函数将返回nil。 参数 `skip` 指定了要跳过的堆栈调用者数量。 md5:5ee348edd866b587

func X多层错误码并跳过堆栈与格式化

func X多层错误码并跳过堆栈与格式化(错误码 gcode.Code, skip int, err error, format string, args ...interface{}) error

X多层错误码并跳过堆栈与格式化 使用给定的格式和参数将错误包装成带有代码和文本的错误。 如果给定的err为nil,它将返回nil。 参数`skip`指定了要跳过的调用者堆栈的数量。 md5:00fbaefc556da645

func X弃用NewOption

func X弃用NewOption(选项 Option) error

X弃用NewOption 创建并返回一个带有 Option 的自定义错误。 已弃用:请使用 NewWithOption 替代。 md5:dba08610e527e0f9

func X是否包含

func X是否包含(err, 待比较 error) bool

X是否包含 判断当前错误 `err` 是否在其嵌套错误中包含目标错误 `target`。这是为了实现从 Go 1.17 版本开始的标准库中的 errors.X是否包含 接口。 md5:dfc92c8d3ba58133

func X是否包含错误码

func X是否包含错误码(错误 error, 错误码 gcode.Code) bool

X是否包含错误码 检查并报告 `err` 的链式错误中是否包含 `code`。 md5:5d1b8286d1872717

func X是否相等

func X是否相等(err, 待比较 error) bool

X是否相等 检查当前错误 `err` 是否等于错误 `target`。 请注意,在默认的 `Error` 比较逻辑中,如果两个错误的 `code` 和 `text` 都相同,则认为它们是相同的。 md5:adaa63023ba44f79

Types

type Error

type Error struct {
	// contains filtered or unexported fields
}

Error 是自定义错误,用于附加功能。 md5:6111a19ebbc88a60

func (*Error) Cause

func (err *Error) Cause() error

Cause返回根本原因错误。 md5:c43631d8af1a0815

func (*Error) Code

func (err *Error) Code() gcode.Code

Code 返回错误代码。 如果没有错误代码,它将返回 CodeNil。 md5:ff28e1e7c152b8de

func (*Error) Current

func (err *Error) Current() error

Current 创建并返回当前级别的错误。如果当前级别错误为 nil,则返回 nil。 md5:d8b26e22ec63a837

func (*Error) Equal

func (err *Error) Equal(target error) bool

Equal 判断当前错误 `err` 是否等于目标错误 `target`。请注意,在默认的错误比较中,如果两个错误的 `code` 和 `text` 都相同,那么它们将被视为相等。 md5:6256ec44e7b04b0e

func (*Error) Error

func (err *Error) Error() string

Error 实现了 Error 接口,它返回所有的错误信息作为字符串。 md5:916d521fe191e82f

func (*Error) Format

func (err *Error) Format(s fmt.State, verb rune)

Format 根据fmt.Formatter接口格式化框架。

%v, %s:打印所有错误字符串; %-v, %-s:打印当前级别的错误字符串; %+s:打印完整的堆栈错误列表; %+v:打印错误字符串和完整的堆栈错误列表。 md5:68a2fa33dd7a1faa

func (*Error) Is

func (err *Error) Is(target error) bool

Is 判断当前错误 `err` 是否在其嵌套错误中包含目标错误 `target`。这是为了实现从 Go 1.17 版本开始的标准库中的 errors.Is 接口。 md5:dfc92c8d3ba58133

func (Error) MarshalJSON

func (err Error) MarshalJSON() ([]byte, error)

MarshalJSON实现了json.Marshal接口的MarshalJSON方法。 注意,这里不要使用指针作为接收者。 md5:b4f76062b07a5263

func (*Error) SetCode

func (err *Error) SetCode(code gcode.Code)

SetCode 使用给定的代码更新内部代码。 md5:e53ddd795359c2bb

func (*Error) Stack

func (err *Error) Stack() string

Stack 返回错误堆栈信息作为字符串。 md5:467a08a63c68ff5e

func (*Error) Unwrap

func (err *Error) Unwrap() error

Unwrap 是函数 `Next` 的别名。 它只是为了实现自 Go 1.17 版本的stdlib库中的 `errors.Unwrap`。 md5:4ab7dcc4181801cd

type ICause

type ICause interface {
	Error() string
	Cause() error
}

ICause 是Cause特性的接口。 md5:f98814a45dc166a2

type ICode

type ICode interface {
	Error() string
	Code() gcode.Code
}

ICode是代码功能的接口。 md5:97b69f390ed9b25c

type ICurrent

type ICurrent interface {
	Error() string
	Current() error
}

ICurrent 是表示 Current 功能的接口。 md5:df6566b1d7d711b5

type IEqual

type IEqual interface {
	Error() string
	Equal(target error) bool
}

IEqual 是实现相等特性(Equal feature)的接口。 md5:734ec9a0f4399a8f

type IIs

type IIs interface {
	Error() string
	Is(target error) bool
}

IIs 是 Is 特性接口。 md5:c4d4591e57d60306

type IStack

type IStack interface {
	Error() string
	Stack() string
}

IStack是栈功能的接口。 md5:bdce0c99c1f4dfb1

type IUnwrap

type IUnwrap interface {
	Error() string
	Unwrap() error
}

IUnwrap是Unwrap功能的接口。 md5:71a8ef0c90103c1e

type Option

type Option struct {
	Error error      // Wrapped error if any.
	Stack bool       // 是否将堆栈信息记录到错误中。 md5:d22b9750d48ecbd8
	Text  string     // 由New*函数创建的错误文本。 md5:f5b9bbbd3516fe7c
	Code  gcode.Code // 如果需要,错误代码。 md5:92ec689bb1dbbb33
}

Option 是创建错误时的选项。 md5:e4c01dc11cd0fde6

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL