errors

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Format added in v1.1.0

func Format(err error) string

Format 生成带 kind/code 的诊断字符串(日志用)。

func HTTPStatus added in v1.1.0

func HTTPStatus(kind Kind) int

HTTPStatus 将 Kind 映射为 HTTP 状态码。

func IsPublic added in v1.1.0

func IsPublic(err error) bool

IsPublic 是否可将消息展示给客户端。

Types

type AppError added in v1.1.0

type AppError struct {
	Kind    Kind
	Code    string
	Message string
	Cause   error
}

AppError 是框架推荐的统一应用错误。

func Biz added in v1.1.0

func Biz(code, msg string) *AppError

func Forbidden added in v1.1.0

func Forbidden(msg string) *AppError

func Internal added in v1.1.0

func Internal(msg string, err error) *AppError

func New added in v1.1.0

func New(kind Kind, code, msg string) *AppError

func NotFound added in v1.1.0

func NotFound(msg string) *AppError

func Unauthorized added in v1.1.0

func Unauthorized(msg string) *AppError

func Validation added in v1.1.0

func Validation(msg string) *AppError

func Wrap added in v1.1.0

func Wrap(kind Kind, code, msg string, err error) *AppError

func (*AppError) Error added in v1.1.0

func (e *AppError) Error() string

func (*AppError) ErrorCode added in v1.1.0

func (e *AppError) ErrorCode() string

func (*AppError) ErrorKind added in v1.1.0

func (e *AppError) ErrorKind() Kind

func (*AppError) PublicMessage added in v1.1.0

func (e *AppError) PublicMessage() string

func (*AppError) Unwrap added in v1.1.0

func (e *AppError) Unwrap() error

type BizError

type BizError struct {
	Code    string
	Message string
	Raw     error
}

BizError 表示可直接展示给用户的业务错误(非系统内部错误)。 推荐新代码使用 AppError + KindBiz;BizError 保持兼容。

func NewBizError

func NewBizError(code string, msg string) *BizError

func WrapBizError

func WrapBizError(code string, msg string, err error) *BizError

func (*BizError) Error

func (e *BizError) Error() string

func (*BizError) ErrorCode added in v1.1.0

func (e *BizError) ErrorCode() string

func (*BizError) ErrorKind added in v1.1.0

func (e *BizError) ErrorKind() Kind

func (*BizError) PublicMessage added in v1.1.0

func (e *BizError) PublicMessage() string

func (*BizError) Unwrap

func (e *BizError) Unwrap() error

type Kind added in v1.1.0

type Kind string

Kind 描述错误类别,用于日志级别与 HTTP 映射。

const (
	KindBiz             Kind = "biz"          // 可展示业务失败,默认 HTTP 200
	KindValidation      Kind = "validation"   // 400
	KindUnauthorized    Kind = "unauthorized" // 401
	KindForbidden       Kind = "forbidden"    // 403
	KindNotFound        Kind = "not_found"    // 404
	KindConflict        Kind = "conflict"     // 409
	KindTooManyRequests Kind = "rate_limited" // 429
	KindUnavailable     Kind = "unavailable"  // 503
	KindInternal        Kind = "internal"     // 500,不对外暴露原文
)

func KindOf added in v1.1.0

func KindOf(err error) Kind

KindOf 解析错误类别;未知默认为 KindInternal(安全默认)。

type Kinded added in v1.1.0

type Kinded interface {
	error
	ErrorKind() Kind
}

Kinded 可查询错误类别(须同时是 error,以便 errors.AsType)。

type PublicError added in v1.1.0

type PublicError interface {
	error
	PublicMessage() string
	ErrorCode() string
}

PublicError 表示可直接展示给用户的公开错误。 Fail 优先识别此接口;BizError / AppError 也实现了该契约。

Source Files

  • errors.go
  • kind.go

Jump to

Keyboard shortcuts

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