kerr

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2025 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// =====================
	// 0 - 成功
	// =====================
	Succ = New(0, "success").WithDisplay("操作成功")

	// =====================
	// 1xxxx - 系统/基础设施错误
	// =====================
	SystemError     = New(10000, "system error").WithDisplay("系统错误,请稍后重试")
	ConfigError     = New(10001, "configuration error").WithDisplay("系统配置错误")
	TimeoutError    = New(10002, "operation timeout").WithDisplay("请求超时")
	PanicError      = New(10003, "panic occurred").WithDisplay("系统异常")
	InternalIOError = New(10004, "io error").WithDisplay("IO 操作失败")

	// =====================
	// 2xxxx - 用户/认证/权限错误
	// =====================
	Unauthorized  = New(20000, "unauthorized").WithDisplay("未授权,请登录")
	Forbidden     = New(20001, "forbidden").WithDisplay("没有访问权限")
	UserNotFound  = New(20002, "user not found").WithDisplay("用户不存在")
	PasswordError = New(20003, "invalid password").WithDisplay("密码错误")
	TokenExpired  = New(20004, "token expired").WithDisplay("登录状态已过期")
	AccountLocked = New(20005, "account locked").WithDisplay("账号已锁定")
	QuotaExceeded = New(20006, "quota exceeded").WithDisplay("已超出使用限制")

	// =====================
	// 3xxxx - 业务逻辑错误
	// =====================
	InvalidState      = New(30000, "invalid state").WithDisplay("当前状态不允许此操作")
	OperationConflict = New(30001, "operation conflict").WithDisplay("操作冲突或重复执行")
	DependencyMissing = New(30002, "dependency missing").WithDisplay("依赖缺失或未初始化")
	NoData            = New(30003, "no data").WithDisplay("没有符合条件的数据")
	ValidationFailed  = New(30004, "validation failed").WithDisplay("数据验证失败")

	// =====================
	// 4xxxx - 外部依赖错误
	// =====================
	DBError           = New(40000, "database error").WithDisplay("数据库异常")
	CacheError        = New(40001, "cache error").WithDisplay("缓存服务异常")
	NetworkError      = New(40002, "network error").WithDisplay("网络异常,请稍后再试")
	ThirdPartyError   = New(40003, "third-party service error").WithDisplay("第三方服务异常")
	MessageQueueError = New(40004, "message queue error").WithDisplay("消息队列异常")

	// =====================
	// 5xxxx - 核心组件/框架错误
	// =====================
	NameRegistered    = New(50000, "name already registered").WithDisplay("名称已注册")
	NameNotRegistered = New(50001, "name not registered").WithDisplay("名称未注册")
	ResourcePoolEmpty = New(50002, "resource pool empty").WithDisplay("资源池为空")
	ServiceNotReady   = New(50003, "service not ready").WithDisplay("服务未就绪")
)

常用通用错误码常量

Functions

This section is empty.

Types

type Error

type Error interface {
	error
	Code() int
	Display() string
	Wrap(err error) Error
	Unwrap() error
	Stack() string
	Is(target error) bool
	WithStack(skip ...int) Error
	WithDisplay(display string) Error
	ToJSON() string
}

Error 定义了错误接口

type KError

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

KError 是 Error 的默认实现

func New

func New(code int, msg string) *KError

New 创建一个新的错误实例

func (*KError) Code

func (e *KError) Code() int

Code 返回错误码

func (*KError) Display

func (e *KError) Display() string

Display 返回错误显示信息

func (*KError) Error

func (e *KError) Error() string

Error 返回错误信息

func (*KError) Format

func (e *KError) Format(f fmt.State, c rune)

Format 支持 fmt.Printf("%+v", err) 打印堆栈

func (*KError) Is

func (e *KError) Is(target error) bool

Is 判断相同错误码的错误

func (*KError) MarshalJSON

func (e *KError) MarshalJSON() ([]byte, error)

MarshalJSON 支持 JSON 序列化

func (*KError) Stack

func (e *KError) Stack() string

Stack 返回调用栈

func (*KError) ToJSON

func (e *KError) ToJSON() string

func (*KError) Unwrap

func (e *KError) Unwrap() error

Unwrap 返回被包装的错误

func (*KError) WithDisplay

func (e *KError) WithDisplay(display string) Error

WithDisplay 设置错误显示信息

func (*KError) WithStack

func (e *KError) WithStack(skip ...int) Error

WithStack 收集调用栈,返回新实例

func (*KError) Wrap

func (e *KError) Wrap(err error) Error

Wrap 包装错误,返回新实例

Jump to

Keyboard shortcuts

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