exception

package
v0.4.27 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: LGPL-2.1 Imports: 3 Imported by: 36

Documentation

Overview

Package exception 提供带调用位置信息的错误与 panic 辅助。

Package exception 用于统一构造框架内部错误。它会把调用文件和行号附加到错误信息中, 并可通过 TraceStack 为 error 附带当前栈信息。

框架内的参数检查与不变量校验通常通过 Panic / Panicf 抛出;需要向上返回 error 时则使用 Error / Errorf 系列函数。

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrCore     = errors.New("core")     // ErrCore 是框架错误的共同根错误。
	ErrPanicked = errors.New("panicked") // ErrPanicked 标识由 panic 恢复得到的错误。
	ErrArgs     = errors.New("args")     // ErrArgs 标识参数错误。
)

Functions

func Error added in v0.3.42

func Error(v any) error

Error 将 v 格式化为带直接调用位置的错误。

func ErrorSkip added in v0.3.46

func ErrorSkip(skip int, v any) error

ErrorSkip 将 v 格式化为错误,并使用 runtime.Caller(skip) 指定的位置。

func Errorf added in v0.3.42

func Errorf(format string, args ...any) error

Errorf 按 format 构造带直接调用位置的错误。

func ErrorfSkip added in v0.3.46

func ErrorfSkip(skip int, format string, args ...any) error

ErrorfSkip 按 format 构造错误,并使用 runtime.Caller(skip) 指定的位置。

func Panic added in v0.3.42

func Panic(v any)

Panic 以带直接调用位置的 error 触发 panic。

func PanicSkip added in v0.3.46

func PanicSkip(skip int, v any)

PanicSkip 以 error 触发 panic,并使用 runtime.Caller(skip) 指定的位置。

func Panicf added in v0.3.42

func Panicf(format string, args ...any)

Panicf 按 format 构造带直接调用位置的 error 并触发 panic。

func PanicfSkip added in v0.3.46

func PanicfSkip(skip int, format string, args ...any)

PanicfSkip 按 format 构造 error 并触发 panic,位置由 runtime.Caller(skip) 指定。

func TraceStack added in v0.3.42

func TraceStack(err error) error

TraceStack 捕获当前协程堆栈并将其附加到 err。

Types

type ErrorWithStack added in v0.4.27

type ErrorWithStack struct {
	Err   error  // Err 是原始错误。
	Stack []byte // Stack 是 runtime.Stack 生成的堆栈文本。
}

ErrorWithStack 将错误与捕获到的当前协程堆栈组合为一个错误值。

func (ErrorWithStack) Error added in v0.4.27

func (e ErrorWithStack) Error() string

Error 返回原始错误与堆栈文本。

func (ErrorWithStack) Unwrap added in v0.4.27

func (e ErrorWithStack) Unwrap() error

Unwrap 返回附加堆栈前的原始错误。

Jump to

Keyboard shortcuts

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