fserr

package module
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2024 License: GPL-3.0 Imports: 11 Imported by: 4

Documentation

Index

Constants

View Source
const (
	ErrBasic = iota + 1
	ErrDb
	ErrParam
	ErrRetry
	ErrServiceInvoke
)

Variables

This section is empty.

Functions

func As added in v0.3.0

func As(err error, target any) bool

As 匹配最外层的与target类型相同的error,将其赋值给target

func Is added in v0.3.0

func Is(err, target error) bool

Is 判断err是否是target类型 相比==判断错误,该方式会进行不断地类似于 UmWrap 的操作, 将 UmWrap 后的错误进行比较

func IsCode added in v0.3.0

func IsCode[T codeType](err error, code T) bool

IsCode 判断某个错误是否为某个错误码

func New added in v0.3.0

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

New 创建新的错误,支持格式化占位符

func ParseCode added in v0.3.0

func ParseCode(err error) *withCode

ParseCode 将错误解析为错误码错误 若err不是错误码错误,则包裹传递错误,其他信息为默认错误码信息 若err为错误码错误,将其转换,将最外层错误信息作为最终错误信息返回 若想得到原始的错误码错误,可以使用As方法

func SetAppCode added in v0.3.0

func SetAppCode[T codeType](code T)

SetAppCode 设置服务错误码 模块码、模块错误码一共四位,指定应用码将拼接在前 例如应用码位101,模块码为1,模块错误码为21,那么最终业务错误码为:1010121

func SetDefault added in v0.3.0

func SetDefault(httpCode, businessCode int, message string)

SetDefault 设置默认错误码 当错误码匹配失败时,提供的备选方案,已内置默认错误码, 它的HTTP码为200,业务码和信息均为零值

func TransferFromError

func TransferFromError(err error) error

TransferFromError 将错误转为带栈帧的错误 Deprecated: 请使用 New、 Wrap、 WithCode、 WithStack

func UnWrap added in v0.3.0

func UnWrap(err error) error

UnWrap 获取包装过的error 若error1使用 Wrap 包装后产出错误error2 当使用 UmWrap 后,返回的是error1

func WithCode added in v0.3.0

func WithCode[T codeType](err error, businessCode T, options ...Option) error

WithCode 创建带有错误码的error,支持格式化占位符 使用option可以替换其中信息

func WithStack added in v0.3.1

func WithStack(err error) error

func Wrap added in v0.3.0

func Wrap(err error, format string, args ...any) error

Wrap 包装已有错误,支持格式化占位符

Types

type ErrCode added in v0.3.0

type ErrCode struct {
	// HttpCode 该错误码建议的HTTP响应码
	HttpCode int `json:"httpCode,omitempty"`
	// BusinessCode 该错误码对应的业务码
	// +optional
	BusinessCode int `json:"businessCode,omitempty"`
	// Message 该错误码对应的错误信息
	// +optional
	Message string `json:"message,omitempty"`
}

ErrCode 产生error所包含的错误码信息 支持http错误码、业务错误码 可通过下方快捷函数快速创建指定http码的错误码

func NewAlreadyExists added in v0.3.0

func NewAlreadyExists(businessCode int, message string) ErrCode

func NewBadRequest added in v0.3.0

func NewBadRequest(businessCode int, message string) ErrCode

func NewCode added in v0.3.0

func NewCode(httpCode, businessCode int, message string) ErrCode

NewCode 创建指定信息的错误码

func NewConflict added in v0.3.0

func NewConflict(businessCode int, message string) ErrCode

func NewForbidden added in v0.3.0

func NewForbidden(businessCode int, message string) ErrCode

func NewGenerateNameConflict added in v0.3.0

func NewGenerateNameConflict(businessCode int, message string) ErrCode

func NewGone added in v0.3.0

func NewGone(businessCode int, message string) ErrCode

func NewInternalError added in v0.3.0

func NewInternalError(businessCode int, message string) ErrCode

func NewMethodNotSupported added in v0.3.0

func NewMethodNotSupported(businessCode int, message string) ErrCode

func NewNotFound added in v0.3.0

func NewNotFound(businessCode int, message string) ErrCode

func NewOK added in v0.3.0

func NewOK(businessCode int, message string) ErrCode

func NewRequestEntityTooLargeError added in v0.3.0

func NewRequestEntityTooLargeError(businessCode int, message string) ErrCode

func NewServiceUnavailable added in v0.3.0

func NewServiceUnavailable(businessCode int, message string) ErrCode

func NewTimeoutError added in v0.3.0

func NewTimeoutError(businessCode int, message string) ErrCode

func NewTooManyRequests added in v0.3.0

func NewTooManyRequests(businessCode int, message string) ErrCode

func NewTooManyRequestsError added in v0.3.0

func NewTooManyRequestsError(businessCode int, message string) ErrCode

func NewUnauthorized added in v0.3.0

func NewUnauthorized(businessCode int, message string) ErrCode

type Option added in v0.3.0

type Option func(*withCode)

func MsgOption added in v0.3.0

func MsgOption(msg string) Option

MsgOption 替换错误码默认的提示信息

Jump to

Keyboard shortcuts

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