errors

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2025 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrTypeDatabase   = "database"
	ErrTypeWeChat     = "wechat"
	ErrTypeHTTP       = "http"
	ErrTypeConfig     = "config"
	ErrTypeInvalidArg = "invalid_argument"
	ErrTypeAuth       = "authentication"
	ErrTypePermission = "permission"
	ErrTypeNotFound   = "not_found"
	ErrTypeValidation = "validation"
	ErrTypeRateLimit  = "rate_limit"
	ErrTypeInternal   = "internal"
)

定义错误类型常量

Variables

View Source
var ErrAlreadyDecrypted = New(ErrTypeWeChat, "database file is already decrypted", nil, http.StatusBadRequest)
View Source
var ErrDecryptHashVerificationFailed = New(ErrTypeWeChat, "hash verification failed during decryption", nil, http.StatusBadRequest)
View Source
var ErrDecryptIncorrectKey = New(ErrTypeWeChat, "incorrect decryption key", nil, http.StatusBadRequest)

Functions

func Err

func Err(c *gin.Context, err error)

Err 在HTTP响应中返回错误

func ErrorHandlerMiddleware added in v0.0.2

func ErrorHandlerMiddleware() gin.HandlerFunc

ErrorHandlerMiddleware 是一个 Gin 中间件,用于统一处理请求过程中的错误 它会为每个请求生成一个唯一的请求 ID,并在错误发生时将其添加到错误响应中

func FormatErrorChain added in v0.0.2

func FormatErrorChain(err error) string

FormatErrorChain 格式化错误链,便于调试

func GetCode added in v0.0.2

func GetCode(err error) int

GetCode 获取错误的 HTTP 状态码

func GetErrorDetails added in v0.0.2

func GetErrorDetails(err error) (errType string, message string, code int, requestID string)

GetErrorDetails 返回错误的详细信息,包括类型、消息、HTTP状态码和请求ID

func GetType added in v0.0.2

func GetType(err error) string

GetType 获取错误类型

func HasCause added in v0.0.2

func HasCause(err error, cause error) bool

HasCause 检查错误是否包含指定的原因

func Is added in v0.0.2

func Is(err error, errType string) bool

Is 检查错误是否为特定类型

func IsNil added in v0.0.2

func IsNil(err error) bool

IsNil 检查错误是否为 nil

func IsNotNil added in v0.0.2

func IsNotNil(err error) bool

IsNotNil 检查错误是否不为 nil

func IsType added in v0.0.2

func IsType(err error, errType string) bool

IsType 检查错误是否为指定类型

func JoinErrors added in v0.0.2

func JoinErrors(errs ...error) error

JoinErrors 将多个错误合并为一个错误 如果只有一个错误不为 nil,则返回该错误 如果有多个错误不为 nil,则创建一个包含所有错误信息的新错误

func RecoveryMiddleware added in v0.0.2

func RecoveryMiddleware() gin.HandlerFunc

RecoveryMiddleware 是一个 Gin 中间件,用于从 panic 恢复并返回 500 错误

func RootCause added in v0.0.2

func RootCause(err error) error

RootCause 获取错误链中的根本原因

func WrapIfErr added in v0.0.2

func WrapIfErr(err error, errType, message string, code int) error

WrapIfErr 如果 err 不为 nil,则包装错误并返回,否则返回 nil

Types

type AppError

type AppError struct {
	Type      string   `json:"type"`                 // 错误类型
	Message   string   `json:"message"`              // 错误消息
	Cause     error    `json:"-"`                    // 原始错误
	Code      int      `json:"-"`                    // HTTP Code
	Stack     []string `json:"-"`                    // 错误堆栈
	RequestID string   `json:"request_id,omitempty"` // 请求ID,用于跟踪
}

AppError 表示应用程序错误

func AsAppError added in v0.0.2

func AsAppError(err error) (*AppError, bool)

AsAppError 将错误转换为 AppError 类型

func Config

func Config(message string, cause error) *AppError

Config 创建配置错误

func ConfigInvalid added in v0.0.2

func ConfigInvalid(field string, cause error) *AppError

ConfigInvalid 创建配置无效错误

func ConfigMissing added in v0.0.2

func ConfigMissing(field string) *AppError

ConfigMissing 创建配置缺失错误

func DBConnectionFailed added in v0.0.2

func DBConnectionFailed(cause error) *AppError

DBConnectionFailed 创建数据库连接失败错误

func DBQueryFailed added in v0.0.2

func DBQueryFailed(operation string, cause error) *AppError

DBQueryFailed 创建数据库查询失败错误

func DBRecordNotFound added in v0.0.2

func DBRecordNotFound(resource string) *AppError

DBRecordNotFound 创建数据库记录未找到错误

func Database

func Database(message string, cause error) *AppError

Database 创建数据库错误

func DecryptCreateCipherFailed added in v0.0.2

func DecryptCreateCipherFailed(cause error) *AppError

DecryptCreateCipherFailed 创建无法创建加密器错误

func DecryptDecodeKeyFailed added in v0.0.2

func DecryptDecodeKeyFailed(cause error) *AppError

DecryptDecodeKeyFailed 创建无法解码十六进制密钥错误

func DecryptIncompleteRead added in v0.0.2

func DecryptIncompleteRead(cause error) *AppError

DecryptIncompleteRead 创建不完整的头部读取错误

func DecryptInvalidKey added in v0.0.2

func DecryptInvalidKey(cause error) *AppError

DecryptInvalidKey 创建无效密钥格式错误

func DecryptOpenFileFailed added in v0.0.2

func DecryptOpenFileFailed(path string, cause error) *AppError

DecryptOpenFileFailed 创建无法打开数据库文件错误

func DecryptOperationCanceled added in v0.0.2

func DecryptOperationCanceled() *AppError

DecryptOperationCanceled 创建解密操作被取消错误

func DecryptReadFileFailed added in v0.0.2

func DecryptReadFileFailed(path string, cause error) *AppError

DecryptReadFileFailed 创建无法读取数据库文件错误

func DecryptWriteOutputFailed added in v0.0.2

func DecryptWriteOutputFailed(cause error) *AppError

DecryptWriteOutputFailed 创建无法写入输出错误

func ErrInvalidArg

func ErrInvalidArg(param string) *AppError

ErrInvalidArg 无效参数错误

func FileNotFound added in v0.0.2

func FileNotFound(path string) *AppError

FileNotFound 创建文件未找到错误

func FileReadFailed added in v0.0.2

func FileReadFailed(path string, cause error) *AppError

FileReadFailed 创建文件读取失败错误

func FileWriteFailed added in v0.0.2

func FileWriteFailed(path string, cause error) *AppError

FileWriteFailed 创建文件写入失败错误

func Forbidden added in v0.0.2

func Forbidden(message string, cause error) *AppError

Forbidden 创建权限不足错误

func HTTP

func HTTP(message string, cause error) *AppError

HTTP 创建HTTP服务错误

func Internal added in v0.0.2

func Internal(message string, cause error) *AppError

Internal 创建内部服务器错误

func InvalidParam added in v0.0.2

func InvalidParam(param string, reason string) *AppError

InvalidParam 创建参数无效错误

func New

func New(errType, message string, cause error, code int) *AppError

New 创建新的应用错误

func NotFound added in v0.0.2

func NotFound(resource string, cause error) *AppError

NotFound 创建资源不存在错误

func PlatformUnsupported added in v0.0.2

func PlatformUnsupported(platform string, version int) *AppError

PlatformUnsupported 创建不支持的平台错误

func RateLimit added in v0.0.2

func RateLimit(message string, cause error) *AppError

RateLimit 创建请求频率限制错误

func RequiredParam added in v0.0.2

func RequiredParam(param string) *AppError

RequiredParam 创建必需参数缺失错误

func Unauthorized added in v0.0.2

func Unauthorized(message string, cause error) *AppError

Unauthorized 创建未授权错误

func Validation added in v0.0.2

func Validation(message string, cause error) *AppError

Validation 创建数据验证错误

func WeChat

func WeChat(message string, cause error) *AppError

WeChat 创建微信相关错误

func WeChatAccountNotSelected added in v0.0.2

func WeChatAccountNotSelected() *AppError

WeChatAccountNotSelected 创建未选择微信账号错误

func WeChatDecryptFailed added in v0.0.2

func WeChatDecryptFailed(cause error) *AppError

WeChatDecryptFailed 创建微信解密失败错误

func WeChatKeyExtractFailed added in v0.0.2

func WeChatKeyExtractFailed(cause error) *AppError

WeChatKeyExtractFailed 创建微信密钥提取失败错误

func WeChatProcessNotFound added in v0.0.2

func WeChatProcessNotFound() *AppError

WeChatProcessNotFound 创建微信进程未找到错误

func Wrap added in v0.0.2

func Wrap(err error, errType, message string, code int) *AppError

Wrap 包装现有错误为 AppError

func (*AppError) Error

func (e *AppError) Error() string

Error 实现 error 接口

func (*AppError) String

func (e *AppError) String() string

String 返回错误的字符串表示

func (*AppError) Unwrap added in v0.0.2

func (e *AppError) Unwrap() error

Unwrap 实现 errors.Unwrap 接口,用于错误链

func (*AppError) WithRequestID added in v0.0.2

func (e *AppError) WithRequestID(requestID string) *AppError

WithRequestID 添加请求ID到错误

func (*AppError) WithStack added in v0.0.2

func (e *AppError) WithStack() *AppError

WithStack 添加堆栈信息到错误

Jump to

Keyboard shortcuts

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