Documentation
¶
Index ¶
- Constants
- Variables
- func FromStatusError(err error) (statusErr *statusError, ok bool)
- func GetStatusError(err error) *statusError
- func NewByCode(code int32, options ...Option) *handlerErr
- func Register(code int32, msg string, opts ...RegisterOption)
- func SetDefaultErrorCode(code int32)
- func WithStackTraceIfNotExists(err error) error
- func WrapByCode(err error, code int32, options ...Option) *handlerErr
- func Wrapf(err error, format string, args ...interface{}) error
- type CodeDefinition
- type Extension
- type KiteXBizStatusError
- type Option
- type RegisterOption
- type StackTracer
- type StatusError
Constants ¶
View Source
const ( BizExtraKeyAffectStability = "biz_err_affect_stability" BizExtraKeyCustomExtra = "biz_err_custom_extra" )
View Source
const ( DefaultErrorMsg = "Service Internal Error" DefaultIsAffectStability = true )
Variables ¶
View Source
var ( ServiceInternalErrorCode int32 = 1 CodeDefinitions = make(map[int32]*CodeDefinition) )
Functions ¶
func FromStatusError ¶
FromStatusError converts err to StatusError. 解析RPC返回的error, 如果是statusError转换而来, 则返回ok为true
func GetStatusError ¶
func GetStatusError(err error) *statusError
GetStatusError 获取错误链中最顶层的 StatusError. 如果有获取code或其他扩展字段的需求,再考虑对外暴露
func Register ¶
func Register(code int32, msg string, opts ...RegisterOption)
func SetDefaultErrorCode ¶
func SetDefaultErrorCode(code int32)
func WrapByCode ¶
Types ¶
type CodeDefinition ¶
type KiteXBizStatusError ¶
type KiteXBizStatusError = kerrors.BizStatusErrorIface
KiteXBizStatusError satisfy the interface requirement of Kitex biz exception handling Kitex-biz exception usage doc: https://www.cloudwego.io/zh/docs/kitex/tutorials/basic-feature/bizstatuserr/
type RegisterOption ¶
type RegisterOption func(definition *CodeDefinition)
func WithAffectStability ¶
func WithAffectStability(affectStability bool) RegisterOption
type StackTracer ¶
type StackTracer interface {
StackTrace() string
}
type StatusError ¶
StatusError is interface for error with statusError. 如果有获取code或其他扩展字段的需求,再考虑对外暴露接口.
Click to show internal directories.
Click to hide internal directories.