Documentation
¶
Index ¶
- Variables
- func As(err error, target interface{}) bool
- func Is(err, target error) bool
- func IsClientHelloSpecNotImplemented(err error) bool
- func IsCode(err error, code ErrorCode) bool
- func IsConfigError(err error) bool
- func IsInvalidInput(err error) bool
- func IsNotFound(err error) bool
- func New(text string) error
- func NewConfigError(op string, err error) error
- func NewNetworkError(op string, err error) error
- func NewNotFoundError(resource string, identifier string) error
- func NewProtocolError(protocol string, err error) error
- func NewValidationError(field string, reason string) error
- func Newf(format string, args ...interface{}) error
- func Wrap(err error, context string) error
- func Wrapf(err error, format string, args ...interface{}) error
- type CategorizedError
- type CodeError
- func ConfigNotLoaded(path string) *CodeError
- func Internal(op string, cause error) *CodeError
- func InvalidInput(field string, reason string) *CodeError
- func NewError(code ErrorCode, message string) *CodeError
- func NewErrorWithCause(code ErrorCode, message string, cause error) *CodeError
- func ProfileInvalid(id string, reason string) *CodeError
- func ProfileNotFound(id string) *CodeError
- func ProfileRemoveDefault(id string) *CodeError
- func RequiredField(field string) *CodeError
- func Timeout(op string, duration any) *CodeError
- type ErrorCategory
- type ErrorCode
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // 配置相关错误 ErrProfileNotFound = errors.New("profile not found") ErrInvalidFingerprint = errors.New("invalid fingerprint format") ErrClientHelloSpecNotImplemented = errors.New("client hello spec not implemented") ErrInvalidUserAgent = errors.New("invalid user agent") ErrNoProfilesAvailable = errors.New("no profiles available") ErrUnsupportedBrowser = errors.New("unsupported browser") // 配置中心错误 ErrConfigNotLoaded = errors.New("config not loaded") ErrConfigValidation = errors.New("config validation failed") ErrConfigPathNotFound = errors.New("config path not found") ErrConfigAlreadyExists = errors.New("config already exists") ErrVersionNotFound = errors.New("version not found") // 网络相关错误 ErrInvalidIP = errors.New("invalid IP address") ErrInvalidPort = errors.New("invalid port") ErrConnectionFailed = errors.New("connection failed") // 协议相关错误 ErrInvalidTLSVersion = errors.New("invalid TLS version") ErrInvalidCipherSuite = errors.New("invalid cipher suite") ErrInvalidExtension = errors.New("invalid extension") // 输入验证错误 ErrInvalidInput = errors.New("invalid input") ErrEmptyInput = errors.New("empty input") ErrInputTooLarge = errors.New("input too large") ErrRequiredField = errors.New("required field is missing") // 内部错误 ErrInternal = errors.New("internal error") ErrNotImplemented = errors.New("not implemented") ErrTimeout = errors.New("operation timeout") ErrCancelled = errors.New("operation cancelled") )
Functions ¶
func IsClientHelloSpecNotImplemented ¶
IsClientHelloSpecNotImplemented 判断错误是否表示 profile 未实现 ClientHelloSpec。
func NewNotFoundError ¶
NewNotFoundError 创建未找到错误
func NewProtocolError ¶
NewProtocolError 创建协议错误
func NewValidationError ¶
NewValidationError 创建验证错误
Types ¶
type CategorizedError ¶
type CategorizedError struct {
Category ErrorCategory
Err error
Details string
}
CategorizedError 带分类的错误
func NewCategorizedError ¶
func NewCategorizedError(category ErrorCategory, err error, details string) *CategorizedError
NewCategorizedError 创建带分类的错误
Example ¶
ExampleNewCategorizedError 示例:分类错误
err := NewCategorizedError(CategoryConfig, ErrConfigNotLoaded, "missing file") fmt.Println(err)
Output: [config] config not loaded: missing file
func (*CategorizedError) Error ¶
func (e *CategorizedError) Error() string
func (*CategorizedError) Unwrap ¶
func (e *CategorizedError) Unwrap() error
type CodeError ¶ added in v1.0.6
CodeError 带错误码的错误
func ConfigNotLoaded ¶ added in v1.0.6
ConfigNotLoaded 创建配置未加载错误
func InvalidInput ¶ added in v1.0.6
InvalidInput 创建输入无效错误
func NewErrorWithCause ¶ added in v1.0.6
NewErrorWithCause 创建带错误码和原因的错误
func ProfileInvalid ¶ added in v1.0.6
ProfileInvalid 创建 Profile 无效错误
func ProfileNotFound ¶ added in v1.0.6
ProfileNotFound 创建 Profile 不存在错误
func ProfileRemoveDefault ¶ added in v1.0.6
ProfileRemoveDefault 创建不能删除默认 Profile 错误
func RequiredField ¶ added in v1.0.6
RequiredField 创建必填字段缺失错误
type ErrorCategory ¶
type ErrorCategory string
ErrorCategory 错误分类
const ( CategoryConfig ErrorCategory = "config" CategoryNetwork ErrorCategory = "network" CategoryProtocol ErrorCategory = "protocol" CategoryInput ErrorCategory = "input" CategoryInternal ErrorCategory = "internal" CategoryNotFound ErrorCategory = "not_found" )
type ErrorCode ¶ added in v1.0.6
type ErrorCode string
ErrorCode 错误码类型
const ( // 系统级错误 (SYS) ErrCodeSystem ErrorCode = "SYS001" ErrCodeNotFound ErrorCode = "SYS002" ErrCodeInvalidArg ErrorCode = "SYS003" ErrCodeTimeout ErrorCode = "SYS004" ErrCodeCancelled ErrorCode = "SYS005" ErrCodeInternal ErrorCode = "SYS006" ErrCodeNotImpl ErrorCode = "SYS007" // Profile 相关错误 (PRF) ErrCodeProfileNotFound ErrorCode = "PRF001" ErrCodeProfileInvalid ErrorCode = "PRF002" ErrCodeProfileExists ErrorCode = "PRF003" ErrCodeProfileLoadFailed ErrorCode = "PRF004" ErrCodeProfileSaveFailed ErrorCode = "PRF005" ErrCodeProfileNoDefault ErrorCode = "PRF006" ErrCodeProfileRemoveDefault ErrorCode = "PRF007" // 配置相关错误 (CFG) ErrCodeConfigNotLoaded ErrorCode = "CFG001" ErrCodeConfigValidation ErrorCode = "CFG002" ErrCodeConfigPathNotFound ErrorCode = "CFG003" ErrCodeConfigExists ErrorCode = "CFG004" ErrCodeConfigVersion ErrorCode = "CFG005" // 网络相关错误 (NET) ErrCodeNetInvalidIP ErrorCode = "NET001" ErrCodeNetInvalidPort ErrorCode = "NET002" ErrCodeNetConnect ErrorCode = "NET003" ErrCodeNetTimeout ErrorCode = "NET004" // 协议相关错误 (PRT) ErrCodeProtoTLSVersion ErrorCode = "PRT001" ErrCodeProtoCipherSuite ErrorCode = "PRT002" ErrCodeProtoExtension ErrorCode = "PRT003" ErrCodeProtoInvalidSpec ErrorCode = "PRT004" // 输入验证错误 (INP) ErrCodeInputInvalid ErrorCode = "INP001" ErrCodeInputEmpty ErrorCode = "INP002" ErrCodeInputTooLarge ErrorCode = "INP003" ErrCodeInputRequired ErrorCode = "INP004" // 缓存相关错误 (CCH) ErrCodeCacheNotFound ErrorCode = "CCH001" ErrCodeCacheExpired ErrorCode = "CCH002" // ML 相关错误 (ML) ErrCodeMLModelNotFound ErrorCode = "ML001" ErrCodeMLPrediction ErrorCode = "ML002" // 插件相关错误 (PLG) ErrCodePluginNotFound ErrorCode = "PLG001" ErrCodePluginInit ErrorCode = "PLG002" )
Click to show internal directories.
Click to hide internal directories.