errors

package
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2025 License: MIT Imports: 12 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// UnknownCode is unknown code for error info.
	UnknownCode = 500
	// UnknownReason is unknown reason for error info.
	UnknownReason = ""
	// SupportPackageIsVersion1 this constant should not be referenced by any other code.
	SupportPackageIsVersion1 = true
)
View Source
const (
	// ClientClosed is non-standard http status code,
	// which defined by nginx.
	// https://httpstatus.in/499/
	ClientClosed = 499
)

Variables

View Source
var (
	// optional int32 default_http_code = 80000;
	E_DefaultHttpCode = &file_errors_proto_extTypes[0]
)

Extension fields to descriptorpb.EnumOptions.

View Source
var (
	// optional int32 http_code = 80000;
	E_HttpCode = &file_errors_proto_extTypes[1]
)

Extension fields to descriptorpb.EnumValueOptions.

View Source
var File_errors_proto protoreflect.FileDescriptor

Functions

func Code

func Code(err error) int

Code returns the http code for an error. It supports wrapped errors.

func Errorf

func Errorf(code int, reason, format string, a ...interface{}) error

Errorf returns an error object for the code, message and error info.

func FromGRPCCode

func FromGRPCCode(code codes.Code) int

FromGRPCCode converts a gRPC error code into the corresponding HTTP response status.

func Reason

func Reason(err error) string

Reason returns the reason for a particular error. It supports wrapped errors.

func RegisterI18nManager added in v0.3.3

func RegisterI18nManager(i18n I18nMessage)

RegisterI18nManager Register the global i18n manager

func ToGRPCCode

func ToGRPCCode(code int) codes.Code

ToGRPCCode converts an HTTP error code into the corresponding gRPC response status.

Types

type Converter

type Converter interface {
	// ToGRPCCode converts an HTTP error code into the corresponding gRPC response status.
	ToGRPCCode(code int) codes.Code

	// FromGRPCCode converts a gRPC error code into the corresponding HTTP response status.
	FromGRPCCode(code codes.Code) int
}

Converter is a status converter.

var DefaultConverter Converter = statusConverter{}

DefaultConverter default converter.

type Error

type Error struct {
	Status
	// contains filtered or unexported fields
}

Error is a status error.

func Clone

func Clone(err *Error) *Error

Clone deep clone error to a new error.

func FromError

func FromError(err error) *Error

FromError try to convert an error to *Error. It supports wrapped errors.

func New

func New(code int, reason, message string) *Error

New returns an error object for the code, message.

func NewWithContext added in v0.3.3

func NewWithContext(ctx context.Context, code int, reason string, data any) *Error

NewWithContext Use context to create error objects and support i18n localization

func Newf

func Newf(code int, reason, format string, a ...interface{}) *Error

Newf New(code fmt.Sprintf(format, a...))

func (*Error) Error

func (e *Error) Error() string

func (*Error) GRPCStatus

func (e *Error) GRPCStatus() *status.Status

GRPCStatus returns the Status represented by se.

func (*Error) Is

func (e *Error) Is(err error) bool

Is matches each error in the chain with the target value.

func (*Error) Unwrap

func (e *Error) Unwrap() error

Unwrap provides compatibility for Go 1.13 error chains.

func (*Error) WithCause

func (e *Error) WithCause(cause error) *Error

WithCause with the underlying cause of the error.

func (*Error) WithMetadata

func (e *Error) WithMetadata(md map[string]string) *Error

WithMetadata with an MD formed by the mapping of key, value.

type I18nMessage added in v0.3.3

type I18nMessage interface {
	// Localize Localization of error causes based on context and data
	Localize(ctx context.Context, reason string, data any) string
}

I18nMessage An interface to internationalize error messages is defined

type Status

type Status struct {
	Code     int32             `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`      // The status code.
	Reason   string            `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`   // A unique identifier of the error
	Message  string            `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // A human-readable description of the error
	Metadata map[string]string ``                                                                    // A map of metadata for the error, e.g. the trace id
	/* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Status) Descriptor deprecated

func (*Status) Descriptor() ([]byte, []int)

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetCode

func (x *Status) GetCode() int32

func (*Status) GetMessage

func (x *Status) GetMessage() string

func (*Status) GetMetadata

func (x *Status) GetMetadata() map[string]string

func (*Status) GetReason

func (x *Status) GetReason() string

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

func (x *Status) ProtoReflect() protoreflect.Message

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

Jump to

Keyboard shortcuts

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