errors

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// PrefixCommon 通用错误码前缀
	PrefixCommon = "COMMON"

	// CodeCommonUnknownError 未知错误
	CodeCommonUnknownError = "COMMON_UNKNOWN_ERROR"
	// CodeCommonValidationError 参数验证错误
	CodeCommonValidationError = "COMMON_VALIDATION_ERROR"
	// CodeCommonNotFound 资源不存在
	CodeCommonNotFound = "COMMON_NOT_FOUND"
	// CodeCommonAlreadyExists 资源已存在
	CodeCommonAlreadyExists = "COMMON_ALREADY_EXISTS"
	// CodeCommonOperationFailed 操作失败
	CodeCommonOperationFailed = "COMMON_OPERATION_FAILED"
	// CodeCommonPermissionDenied 权限不足
	CodeCommonPermissionDenied = "COMMON_PERMISSION_DENIED"
	// CodeCommonUnauthorized 未授权
	CodeCommonUnauthorized = "COMMON_UNAUTHORIZED"
	// CodeCommonInternalError 系统内部错误
	CodeCommonInternalError = "COMMON_INTERNAL_ERROR"
)

通用错误码

View Source
const (
	DomainCommon     = "common"
	DomainShared     = "shared"
	DomainUser       = "user"
	DomainFile       = "file"
	DomainPassport   = "passport"
	DomainPermission = "permission"
)

领域名称常量

View Source
const (
	CodeSharedUsernameEmpty          = "SHARED_USERNAME_EMPTY"
	CodeSharedUsernameLengthMismatch = "SHARED_USERNAME_LENGTH_MISMATCH"
	CodeSharedUsernameInvalid        = "SHARED_USERNAME_INVALID"
	CodeSharedUsernameAlreadyExists  = "SHARED_USERNAME_ALREADY_EXISTS"
)

用户名错误码

View Source
const (
	CodeSharedPasswordEmpty                  = "SHARED_PASSWORD_EMPTY"
	CodeSharedPasswordLengthMismatch         = "SHARED_PASSWORD_LENGTH_MISMATCH"
	CodeSharedPasswordInvalid                = "SHARED_PASSWORD_INVALID"
	CodeSharedPasswordGenerateFailed         = "SHARED_PASSWORD_GENERATE_FAILED"
	CodeSharedPasswordTooWeak                = "SHARED_PASSWORD_TOO_WEAK"
	CodeSharedPasswordComplexityInsufficient = "SHARED_PASSWORD_COMPLEXITY_INSUFFICIENT"
	CodeSharedPasswordHasConsecutiveChars    = "SHARED_PASSWORD_HAS_CONSECUTIVE_CHARS"
	CodeSharedPasswordHasRepeatingChars      = "SHARED_PASSWORD_HAS_REPEATING_CHARS"
)

密码错误码

Variables

View Source
var (
	ErrCommonUnknown          = NewCommonError(CodeCommonUnknownError, "未知错误", nil)
	ErrCommonValidation       = NewCommonError(CodeCommonValidationError, "参数验证错误", nil)
	ErrCommonNotFound         = NewCommonError(CodeCommonNotFound, "资源不存在", nil)
	ErrCommonAlreadyExists    = NewCommonError(CodeCommonAlreadyExists, "资源已存在", nil)
	ErrCommonOperationFailed  = NewCommonError(CodeCommonOperationFailed, "操作失败", nil)
	ErrCommonPermissionDenied = NewCommonError(CodeCommonPermissionDenied, "权限不足", nil)
	ErrCommonUnauthorized     = NewCommonError(CodeCommonUnauthorized, "未授权", nil)
	ErrCommonInternalError    = NewCommonError(CodeCommonInternalError, "系统内部错误", nil)
)

预定义通用错误

View Source
var (
	As     = errors.As
	Is     = errors.Is
	New    = errors.New
	Unwrap = errors.Unwrap
)

标准错误包的常用函数别名,方便使用

View Source
var (
	ErrSharedUsernameEmpty          = NewShardError(CodeSharedUsernameEmpty, "登录账号为空", nil)
	ErrSharedUsernameLengthMismatch = NewShardError(CodeSharedUsernameLengthMismatch, "登录账号长度不符", nil)
	ErrSharedUsernameInvalid        = NewShardError(CodeSharedUsernameInvalid, "登录账号格式错误", nil)
	ErrSharedUsernameAlreadyExists  = NewShardError(CodeSharedUsernameAlreadyExists, "登录账号已存在", nil)
)

用户名相关错误

View Source
var (
	ErrSharedPasswordEmpty                  = NewShardError(CodeSharedPasswordEmpty, "登录密码为空", nil)
	ErrSharedPasswordLengthMismatch         = NewShardError(CodeSharedPasswordLengthMismatch, "登录密码长度应在8到128之间", nil)
	ErrSharedPasswordInvalid                = NewShardError(CodeSharedPasswordInvalid, "无效的登录密码", nil)
	ErrSharedPasswordGenerateFailed         = NewShardError(CodeSharedPasswordGenerateFailed, "登录密码生成失败", nil)
	ErrSharedPasswordTooWeak                = NewShardError(CodeSharedPasswordTooWeak, "密码过于简单,请使用更复杂的密码", nil)
	ErrSharedPasswordComplexityInsufficient = NewShardError(CodeSharedPasswordComplexityInsufficient, "密码复杂度不足,至少包含大写字母、小写字母、数字、特殊字符中的3种", nil)
	ErrSharedPasswordHasConsecutiveChars    = NewShardError(CodeSharedPasswordHasConsecutiveChars, "密码不能包含连续字符(如123、abc)", nil)
	ErrSharedPasswordHasRepeatingChars      = NewShardError(CodeSharedPasswordHasRepeatingChars, "密码不能包含过多重复字符", nil)
)

密码相关错误

Functions

func FormatErrorChain

func FormatErrorChain(err error) string

FormatErrorChain 格式化完整的错误链为字符串

Types

type DomainError

type DomainError struct {
	// 错误码,用于唯一标识错误类型
	Code string
	// 错误消息,用于向用户展示
	Message string
	// 原始错误,用于错误链和调试
	Err error
	// 领域名称,标识错误所属的领域
	Domain string
}

DomainError 领域错误基础类型

func NewCommonError

func NewCommonError(code, message string, err error) *DomainError

NewCommonError 创建通用领域错误

func NewDomainError

func NewDomainError(domain, code, message string, err error) *DomainError

NewDomainError 创建带上下文的错误

func NewFileError

func NewFileError(code, message string, err error) *DomainError

NewFileError 创建文件领域错误

func NewPassportError

func NewPassportError(code, message string, err error) *DomainError

NewPassportError 创建通行证领域错误

func NewPermissionError

func NewPermissionError(code, message string, err error) *DomainError

func NewShardError

func NewShardError(code, message string, err error) *DomainError

NewShardError 创建共享领域错误

func NewUserError

func NewUserError(code, message string, err error) *DomainError

NewUserError 创建用户领域错误

func (*DomainError) Error

func (e *DomainError) Error() string

func (*DomainError) Format

func (e *DomainError) Format(s fmt.State, verb rune)

Format 实现 fmt.Formatter 接口,支持自定义格式化

func (*DomainError) Is

func (e *DomainError) Is(target error) bool

Is errors.Is 判断规则

func (*DomainError) String

func (e *DomainError) String() string

func (*DomainError) Unwrap

func (e *DomainError) Unwrap() error

func (*DomainError) Wrap

func (e *DomainError) Wrap(err error) error

Wrap 包装一个错误(会修改原始错误)

func (*DomainError) WrapNew

func (e *DomainError) WrapNew(err error) *DomainError

WrapNew 包装一个新的错误(不修改原始错误)

Jump to

Keyboard shortcuts

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