Documentation
¶
Index ¶
- func FixNilError(err error) error
- func FormatNoRetryError(format string, a ...interface{}) error
- func FormatNotFoundError(format string, a ...interface{}) error
- func IsNoRetry(err error) bool
- func IsNotFound(err error) bool
- func WrapNoRetryError(err error) error
- func WrapNotFoundError(err error) error
- func Wrapf(err error, format string, a ...any) error
- type NoRetryError
- type NotFoundError
- type PanicError
- type Status
- type StatusError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatNoRetryError ¶
FormatNoRetryError 格式化一个NoRetryError的实现实例。
func FormatNotFoundError ¶
FormatNotFoundError 格式化一个NotFoundError的实现实例。
func WrapNoRetryError ¶
WrapNoRetryError 包装一个error,返回一个NoRetryError的实现实例。
func WrapNotFoundError ¶
WrapNotFoundError 包装一个error,返回一个NotFoundError的实现实例。
Types ¶
type PanicError ¶
type PanicError struct {
// contains filtered or unexported fields
}
PanicError panic错误。
func AsPanic ¶
func AsPanic(err error) (PanicError, bool)
AsPanic 将一个错误,转为Panic错误。如果不是Panic错误,返回Falase。
func NewPanicError ¶
func NewPanicError(recovery interface{}) PanicError
NewPanicError 创建一个PanicError。
func Recover ¶
func Recover(f func()) (panicErr *PanicError)
Recover 执行函数f。如果函数发生panic,返回一个PanicError错误;否则返回nil。
func (PanicError) Error ¶
func (err PanicError) Error() string
String 实现error。返回字符串格式为:panic <recovery>。
type Status ¶
Status 错误状态码。
var ( // StatusOk 成功。 StatusOk Status = builtInStatus{ HttpStatusCode: http.StatusOK, GRpcCode: codes.OK, } // StatusInvalidArgument 无效参数。 StatusInvalidArgument Status = builtInStatus{ HttpStatusCode: http.StatusBadRequest, GRpcCode: codes.InvalidArgument, } // StatusNotFound 没找到。 StatusNotFound Status = builtInStatus{ HttpStatusCode: http.StatusNotFound, GRpcCode: codes.NotFound, } // StatusAlreadyExists 已经存在,冲突。 StatusAlreadyExists Status = builtInStatus{ HttpStatusCode: http.StatusConflict, GRpcCode: codes.AlreadyExists, } // StatusPermissionDenied 拒绝访问。 StatusPermissionDenied Status = builtInStatus{ HttpStatusCode: http.StatusForbidden, GRpcCode: codes.PermissionDenied, } // StatusFailedPrecondition 条件不满足 StatusFailedPrecondition Status = builtInStatus{ HttpStatusCode: http.StatusPreconditionFailed, GRpcCode: codes.FailedPrecondition, } // StatusUnimplemented 未实现。 StatusUnimplemented Status = builtInStatus{ HttpStatusCode: http.StatusNotImplemented, GRpcCode: codes.Unimplemented, } // StatusInternal 内部错误。 StatusInternal Status = builtInStatus{ HttpStatusCode: http.StatusInternalServerError, GRpcCode: codes.Internal, } StatusUnavailable Status = builtInStatus{ HttpStatusCode: http.StatusServiceUnavailable, GRpcCode: codes.Unavailable, } // StatusUnauthenticated 未认证。 StatusUnauthenticated Status = builtInStatus{ HttpStatusCode: http.StatusUnauthorized, GRpcCode: codes.Unauthenticated, } )
type StatusError ¶
type StatusError struct {
// contains filtered or unexported fields
}
StatusError 带了错误状态码的error实现。
func ErrorWithStatus ¶
func ErrorWithStatus(err error, status Status) StatusError
ErrorWithStatus 包装状态码,返回一个新的error。
func (StatusError) GRPCStatus ¶
func (statusError StatusError) GRPCStatus() *status.Status
GRPCStatus 实现grpc-go的接口。 google.golang.org/grpc/status.Code()可以取得StatusError的GRPCCode。
func (StatusError) HTTPStatusCode ¶
func (statusError StatusError) HTTPStatusCode() int
HTTPStatusCode 实现github.com/wencan/fastrest/restserver/httpserver的错误接口HTTPStatusError。
Click to show internal directories.
Click to hide internal directories.