errorx

package
v0.19.4 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

* @Author: kamalyes 501893067@qq.com * @Date: 2024-11-10 21:51:58 * @LastEditors: kamalyes 501893067@qq.com * @LastEditTime: 2025-02-15 09:19:15 * @FilePath: \go-toolbox\pkg\errorx\base.go * @Description: * * Copyright (c) 2024 by kamalyes, All Rights Reserved.

Index

Constants

View Source
const (
	ErrTypeUnknownError ErrorType = -1
	// 参数错误
	ErrTypeInvalidParam = iota + 1000
	ErrTypeMissingParam
	ErrTypeInvalidFormat

	// 业务错误
	ErrTypeNotFound
	ErrTypeAlreadyExists
	ErrTypeConflict
	ErrTypeUnauthorized
	ErrTypeForbidden

	// 系统错误
	ErrTypeInternal
	ErrTypeTimeout
	ErrTypeResourceExhausted
	ErrTypeUnavailable
	ErrTypeNotImplemented

	// 网络错误
	ErrTypeNetworkError
	ErrTypeConnectionLost
	ErrTypeConnectionTimeout

	// 数据错误
	ErrTypeDataCorrupted
	ErrTypeDataNotFound
	ErrTypeDuplicateData

	// 配置错误
	ErrTypeConfigError
	ErrTypeConfigMissing
	ErrTypeConfigInvalid

	// 状态错误
	ErrTypeInvalidState
	ErrTypeConcurrentOperation

	// 事件错误
	ErrTypeHandlerPanic
	ErrTypeHandlerNotFound
	ErrTypeQueueFull
	ErrTypeHandlerTimeout
	ErrTypeInvalidHandler
	ErrTypeInvalidFilter
	ErrTypeInvalidMiddleware
	ErrTypeEventProcessingFailed
)

预定义的错误类型

Variables

This section is empty.

Functions

func Assert

func Assert(condition bool, message string) error

func Is

func Is(err, target error) bool

func IsConcurrentOperationError

func IsConcurrentOperationError(err error) bool

func IsEventProcessingFailedError

func IsEventProcessingFailedError(err error) bool

func IsHandlerNotFoundError

func IsHandlerNotFoundError(err error) bool

func IsHandlerPanicError

func IsHandlerPanicError(err error) bool

事件错误检查函数

func IsHandlerTimeoutError

func IsHandlerTimeoutError(err error) bool

func IsInvalidFilterError

func IsInvalidFilterError(err error) bool

func IsInvalidHandlerError

func IsInvalidHandlerError(err error) bool

func IsInvalidMiddlewareError

func IsInvalidMiddlewareError(err error) bool

func IsInvalidParamError

func IsInvalidParamError(err error) bool

错误检查函数

func IsInvalidStateError

func IsInvalidStateError(err error) bool

状态错误检查函数

func IsNetworkError

func IsNetworkError(err error) bool

func IsNotFoundError

func IsNotFoundError(err error) bool

func IsQueueFullError

func IsQueueFullError(err error) bool

func IsResourceExhaustedError

func IsResourceExhaustedError(err error) bool

func IsTimeoutError

func IsTimeoutError(err error) bool

func IsType

func IsType(err error, errType ErrorType) bool

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

func Must

func Must(err error)

错误处理工具函数

func MustNot

func MustNot(condition bool, message string)

func New

func New(message string) error

New 创建一个新的错误实例

func NewAlreadyExistsError

func NewAlreadyExistsError(resource string) error

func NewConcurrentOperationError

func NewConcurrentOperationError(operation string) error

func NewConfigError

func NewConfigError(config string) error

配置错误工厂函数

func NewConfigInvalidError

func NewConfigInvalidError(config string) error

func NewConfigMissingError

func NewConfigMissingError(config string) error

func NewConflictError

func NewConflictError(resource string) error

func NewConnectionLostError

func NewConnectionLostError(target string) error

func NewConnectionTimeoutError

func NewConnectionTimeoutError(target string) error

func NewDataCorruptedError

func NewDataCorruptedError(data string) error

数据错误工厂函数

func NewDataNotFoundError

func NewDataNotFoundError(data string) error

func NewDuplicateDataError

func NewDuplicateDataError(data string) error

func NewEventProcessingFailedError

func NewEventProcessingFailedError(event string) error

func NewForbiddenError

func NewForbiddenError(reason string) error

func NewHandlerNotFoundError

func NewHandlerNotFoundError(handler string) error

func NewHandlerPanicError

func NewHandlerPanicError(handler string) error

事件错误工厂函数

func NewHandlerTimeoutError

func NewHandlerTimeoutError(handler string) error

func NewInternalError

func NewInternalError(message string) error

系统错误工厂函数

func NewInvalidFilterError

func NewInvalidFilterError(filter string) error

func NewInvalidFormatError

func NewInvalidFormatError(format string) error

func NewInvalidHandlerError

func NewInvalidHandlerError(handler string) error

func NewInvalidMiddlewareError

func NewInvalidMiddlewareError(middleware string) error

func NewInvalidParamError

func NewInvalidParamError(param string) error

参数错误工厂函数

func NewInvalidStateError

func NewInvalidStateError(state string) error

状态错误工厂函数

func NewMissingParamError

func NewMissingParamError(param string) error

func NewNetworkError

func NewNetworkError(message string) error

网络错误工厂函数

func NewNotFoundError

func NewNotFoundError(resource string) error

业务错误工厂函数

func NewNotImplementedError

func NewNotImplementedError(feature string) error

func NewQueueFullError

func NewQueueFullError(queue string) error

func NewResourceExhaustedError

func NewResourceExhaustedError(resource string) error

func NewTimeoutError

func NewTimeoutError(operation string) error

func NewTypedError

func NewTypedError(errType ErrorType, msg string, args ...interface{}) error

NewTypedError 创建统一的类型化错误,支持模板格式化文案

func NewUnauthorizedError

func NewUnauthorizedError(reason string) error

func NewUnavailableError

func NewUnavailableError(service string) error

func Newf

func Newf(format string, args ...interface{}) error

Newf 创建一个新的错误实例

func PrintErrorMap

func PrintErrorMap()

打印错误映射(调试用)

func Recover

func Recover(fn func()) (err error)

func RegisterError

func RegisterError(errType ErrorType, msg string)

RegisterError 注册错误类型和消息

func ResetErrorMap

func ResetErrorMap()

ResetErrorMap 重置错误映射

func Unwrap

func Unwrap(err error) error

func Wrap

func Wrap(err error, message string) error

错误包装和解包

func WrapError

func WrapError(message string, err ...error) error

WrapError 是一个通用的错误包装函数

Types

type BaseError

type BaseError struct {
	Msg  string
	Type ErrorType
}

定义 BaseError 结构体

func NewBaseError

func NewBaseError(msg string, errTypes ...ErrorType) BaseError

NewBaseError 创建一个新的 BaseError 实例

func NewError

func NewError(errType ErrorType, args ...interface{}) BaseError

NewError 创建一个新的错误实例

func (BaseError) Error

func (e BaseError) Error() string

Error 实现 error 接口,返回错误信息

func (BaseError) GetType

func (e BaseError) GetType() ErrorType

GetType 获取错误类型

type CustomError

type CustomError struct {
	BaseError
	Code    ErrorType
	Details map[string]interface{}
}

CustomError 自定义错误结构,包含错误码和详细信息

func NewCustomError

func NewCustomError(code ErrorType, message string, details map[string]interface{}) *CustomError

NewCustomError 创建自定义错误

func ToCustomError

func ToCustomError(err error, fallbackType ErrorType) *CustomError

错误转换函数

func (*CustomError) Error

func (e *CustomError) Error() string

Error 实现error接口

func (*CustomError) GetCode

func (e *CustomError) GetCode() ErrorType

GetCode 获取错误码

func (*CustomError) GetDetails

func (e *CustomError) GetDetails() map[string]interface{}

GetDetails 获取错误详情

type ErrorChain

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

ErrorChain 错误链,支持错误追踪

func NewErrorChain

func NewErrorChain() *ErrorChain

NewErrorChain 创建新的错误链

func (*ErrorChain) AddError

func (c *ErrorChain) AddError(err error) *ErrorChain

AddError 添加错误到链中

func (*ErrorChain) AddErrorWithContext

func (c *ErrorChain) AddErrorWithContext(err error, context map[string]interface{}) *ErrorChain

AddErrorWithContext 添加带上下文的错误

func (*ErrorChain) Error

func (c *ErrorChain) Error() string

Error 实现error接口

func (*ErrorChain) GetErrors

func (c *ErrorChain) GetErrors() []ErrorInfo

GetErrors 获取所有错误

func (*ErrorChain) GetLastError

func (c *ErrorChain) GetLastError() *ErrorInfo

GetLastError 获取最后一个错误

func (*ErrorChain) HasErrors

func (c *ErrorChain) HasErrors() bool

HasErrors 检查是否有错误

func (*ErrorChain) String

func (c *ErrorChain) String() string

String 返回详细的错误信息

type ErrorCollector

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

批量错误处理

func NewErrorCollector

func NewErrorCollector() *ErrorCollector

func (*ErrorCollector) Add

func (c *ErrorCollector) Add(err error)

func (*ErrorCollector) Error

func (c *ErrorCollector) Error() string

func (*ErrorCollector) GetErrors

func (c *ErrorCollector) GetErrors() []error

func (*ErrorCollector) HasErrors

func (c *ErrorCollector) HasErrors() bool

type ErrorInfo

type ErrorInfo struct {
	Error     error
	Timestamp time.Time
	Location  string
	Context   map[string]interface{}
}

ErrorInfo 错误信息

type ErrorMapType

type ErrorMapType map[ErrorType]string

错误映射类型

func GetErrorMap

func GetErrorMap() ErrorMapType

GetErrorMap 返回当前错误映射

type ErrorType

type ErrorType int

错误类型常量

func ClassifyError

func ClassifyError(err error) ErrorType

ClassifyError 获取错误的 ErrorType 如果错误是 BaseError 类型,返回其错误类型;否则返回 ErrTypeUnknownError

type ErrorWithStack

type ErrorWithStack struct {
	BaseError
	Stack []uintptr
}

ErrorWithStack 带调用栈的错误

func NewErrorWithStack

func NewErrorWithStack(message string) *ErrorWithStack

NewErrorWithStack 创建带调用栈的错误

func (*ErrorWithStack) Error

func (e *ErrorWithStack) Error() string

Error 实现error接口

func (*ErrorWithStack) GetStackTrace

func (e *ErrorWithStack) GetStackTrace() string

GetStackTrace 获取调用栈信息

func (*ErrorWithStack) String

func (e *ErrorWithStack) String() string

String 返回包含调用栈的详细信息

type RetryableError

type RetryableError struct {
	BaseError
	MaxRetries   int
	CurrentRetry int
	RetryAfter   time.Duration
	Retryable    bool
}

RetryableError 可重试的错误

func NewRetryableError

func NewRetryableError(message string, maxRetries int, retryAfter time.Duration) *RetryableError

NewRetryableError 创建可重试的错误

func (*RetryableError) DisableRetry

func (e *RetryableError) DisableRetry()

DisableRetry 禁用重试

func (*RetryableError) Error

func (e *RetryableError) Error() string

Error 实现error接口

func (*RetryableError) GetRetryAfter

func (e *RetryableError) GetRetryAfter() time.Duration

GetRetryAfter 获取重试间隔

func (*RetryableError) IncrementRetry

func (e *RetryableError) IncrementRetry()

IncrementRetry 增加重试次数

func (*RetryableError) ShouldRetry

func (e *RetryableError) ShouldRetry() bool

ShouldRetry 检查是否应该重试

type ValidationError

type ValidationError struct {
	BaseError
	Field   string
	Value   interface{}
	Rule    string
	Details map[string]interface{}
}

ValidationError 验证错误

func NewValidationError

func NewValidationError(field, rule string, value interface{}, message string) *ValidationError

NewValidationError 创建验证错误

func (*ValidationError) AddDetail

func (e *ValidationError) AddDetail(key string, value interface{})

AddDetail 添加详细信息

func (*ValidationError) Error

func (e *ValidationError) Error() string

Error 实现error接口

type ValidationErrors

type ValidationErrors struct {
	Errors []*ValidationError
}

ValidationErrors 多个验证错误

func NewValidationErrors

func NewValidationErrors() *ValidationErrors

NewValidationErrors 创建多个验证错误

func (*ValidationErrors) Add

func (ve *ValidationErrors) Add(err *ValidationError)

Add 添加验证错误

func (*ValidationErrors) Error

func (ve *ValidationErrors) Error() string

Error 实现error接口

func (*ValidationErrors) GetFieldErrors

func (ve *ValidationErrors) GetFieldErrors(field string) []*ValidationError

GetFieldErrors 获取特定字段的错误

func (*ValidationErrors) HasErrors

func (ve *ValidationErrors) HasErrors() bool

HasErrors 检查是否有错误

Jump to

Keyboard shortcuts

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