errs

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

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

Go to latest
Published: Mar 8, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// 定义公共错误码
	Success               = NewAppError(200, "请求成功")    // 表示请求成功,并返回所请求的数据。
	Created               = NewAppError(201, "请求成功")    // 表示请求成功,并创建了新的资源。通常用于 POST 请求。
	Accepted              = NewAppError(202, "请求已接受")   // 示请求已接受,但尚未处理完成。通常用于异步处理的场景,例如批量操作、数据导入等。
	NoContent             = NewAppError(204, "请求成功")    // 表示请求成功,但没有返回任何数据。通常用于 DELETE 请求。
	BadRequest            = NewAppError(400, "入参错误")    //  表示客户端发送的请求有误,服务器无法理解。
	Unauthorized          = NewAppError(401, "验证失败")    // 表示客户端未经身份验证或身份验证失败。
	Forbidden             = NewAppError(403, "未经授权")    // 表示客户端未经授权访问资源。
	NotFound              = NewAppError(404, "未找到")     // 表示请求的资源不存在
	MethodNotAllowed      = NewAppError(405, "请求方法不支持") // 表示请求方法不支持。
	NotAcceptable         = NewAppError(406, "请求头无效")   // 表示请求的 Accept 头部中指定的格式无法被服务器接受。
	RequestTimeout        = NewAppError(408, "请求超时")    // 表示客户端请求超时。
	RequestEntityTooLarge = NewAppError(413, "请求体过大")   // 示客户端请求体太大,服务器无法处理。
	UnprocessableEntity   = NewAppError(422, "入参有误")    // 表示客户端发送的请求格式正确,但服务器无法处理,通常是由于请求体中缺少必要的字段或参数错误。
	TooManyRequests       = NewAppError(429, "请求繁忙")    // 表示客户端发送的请求过多,超出了限制。
	ServerError           = NewAppError(500, "务器内部错误")  // 表示服务器内部错误。
	BadGateway            = NewAppError(502, "网关错误")    // 表示服务器作为网关或代理时,无法访问上游服务器。
	ServiceUnavailable    = NewAppError(503, "无法处理请求")  // 表示服务器暂时无法处理请求,通常是由于服务器过载或正在进行维护。
	GatewayTimeout        = NewAppError(504, "服务器未响应")  // 表示服务器作为网关或代理时,上游服务器超时未响应。

	// 具体业务错误码,以Err开头,必须指定 HTTP StatusCode, 否则按http.StatusInternalServerError处理
	ErrAlreadyExists = NewAppError(10000, "记录已存在", http.StatusBadRequest)
	ErrUserExist     = NewAppError(10001, "用户已存在", http.StatusBadRequest)
)

Functions

This section is empty.

Types

type AppError

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

AppError 一个错误结构体,统一返回错误结构,包含用户错误提示、错误编码和错误信息

func NewAppError

func NewAppError(code uint16, msg string, statusCode ...int) *AppError

NewAppError 往 codeMaps 添加错误,如果 code 已存在会触发panic; code 是自定义业务编码; msg 是人类可读错误提示; statusCode 是用于 StatusCode 方法返回的http的状态码,有且仅有一个; 主要是用于自定义业务码返回 statusCode

func (*AppError) AsException

func (a *AppError) AsException(err error, msgs ...string) *AppError

AsException 添加/追加错误, 返回一个新的 AppError 指针

func (*AppError) AsMessage

func (a *AppError) AsMessage(msg string) *AppError

AsMessage 修改消息,例如:错误时入参错误(InvalidParams),可以修改成具体的错误消息(exp:手机号码不正确) 返回一个新的 AppError 指针

func (*AppError) Code

func (a *AppError) Code() uint16

Code 返回错误码

func (*AppError) Error

func (a *AppError) Error() string

Error 实现 error 接口

func (*AppError) Message

func (a *AppError) Message() string

Message 返回用户可读错误信息

func (*AppError) StatusCode

func (e *AppError) StatusCode() int

StatusCode 根据AppError的Code返回 http status code

func (*AppError) Unwrap

func (a *AppError) Unwrap() error

Unwrap 解开,提供给 errors.Is 和 errors.As 使用

Jump to

Keyboard shortcuts

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