apperr

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: May 5, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClassifyProviderError

func ClassifyProviderError(err error, op string) error

ClassifyProviderError 为运行时 provider 错误补充稳定错误码。 如果错误本身已经带 code,则原样返回。

func Display

func Display(err error) string

Display 返回适合直接展示给用户的错误文本,不重复打印错误码。

func IsCode

func IsCode(err error, code Code) bool

IsCode 判断错误链中是否包含指定错误码。

func IsStreamIdleMessage added in v0.3.0

func IsStreamIdleMessage(s string) bool

IsStreamIdleMessage reports whether s contains the rendered marker of a stream idle-timeout abort. Useful for paths where only the error string survives (sub-agent JSON results, structured event payloads).

func New

func New(code Code, op, message string) error

New 创建一个结构化错误。

func OpOf

func OpOf(err error) string

OpOf 返回错误链中的操作名;未命中时返回空字符串。

func Wrap

func Wrap(err error, code Code, op, message string) error

Wrap 包装已有错误,并附加稳定错误码。

Types

type Code

type Code string

Code 表示稳定的错误分类码。

const (
	CodeUnknown                Code = "UNKNOWN"
	CodeConfigInvalid          Code = "CONFIG_INVALID"
	CodeProviderInvalid        Code = "PROVIDER_INVALID"
	CodeProviderInitFailed     Code = "PROVIDER_INIT_FAILED"
	CodeStoreReadFailed        Code = "STORE_READ_FAILED"
	CodeStoreWriteFailed       Code = "STORE_WRITE_FAILED"
	CodeToolArgsInvalid        Code = "TOOL_ARGS_INVALID"
	CodeToolPreconditionFailed Code = "TOOL_PRECONDITION_FAILED"
	CodeToolConflict           Code = "TOOL_CONFLICT"
	CodePhaseTransitionInvalid Code = "PHASE_TRANSITION_INVALID"
	CodeFlowTransitionInvalid  Code = "FLOW_TRANSITION_INVALID"
)
const (
	CodeProviderRequestFailed   Code = "PROVIDER_REQUEST_FAILED"
	CodeProviderAuth            Code = "PROVIDER_AUTH"
	CodeProviderRateLimit       Code = "PROVIDER_RATE_LIMIT"
	CodeProviderTimeout         Code = "PROVIDER_TIMEOUT"
	CodeProviderStreamIdle      Code = "PROVIDER_STREAM_IDLE"
	CodeProviderNetwork         Code = "PROVIDER_NETWORK"
	CodeProviderContextOverflow Code = "PROVIDER_CONTEXT_OVERFLOW"
	CodeProviderResponseInvalid Code = "PROVIDER_RESPONSE_INVALID"
)

func CodeOf

func CodeOf(err error) Code

CodeOf 返回错误链中的结构化错误码;未命中时返回 CodeUnknown。

type Error

type Error struct {
	Code    Code
	Op      string
	Message string
	Err     error
}

Error 是轻量结构化错误。 设计目标: 1. 保持兼容 Go 原生 error 链; 2. 先提供稳定分类码,再逐步扩展; 3. 不引入额外状态机或复杂元数据。

func (*Error) Error

func (e *Error) Error() string

func (*Error) Unwrap

func (e *Error) Unwrap() error

Jump to

Keyboard shortcuts

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