mrerr

package
v0.15.1 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2025 License: Apache-2.0 Imports: 8 Imported by: 20

Documentation

Index

Constants

View Source
const (
	ErrorKindUnknown              = ErrorKind(0)
	ErrorKindInternal             = mrerrors.ErrorKindInternal
	ErrorKindSystem               = mrerrors.ErrorKindSystem
	ErrorKindUser                 = mrerrors.ErrorKindUser
	ErrorKindUserWithWrappedError = mrerrors.ErrorKindUser + 1 // пользовательская ошибка в которой находится вложенная ошибка
)

Виды ошибок.

Variables

View Source
var (
	// ErrCustomErrorHasNilError - пользовательская ошибка содержит nil.
	ErrCustomErrorHasNilError = NewKindInternal("custom error has an nil error")

	// ErrCustomErrorHasInternalError - пользовательская ошибка содержит внутреннюю ошибку.
	ErrCustomErrorHasInternalError = NewKindInternal("custom error has an internal error")

	// ErrCustomErrorHasSystemError - пользовательская ошибка содержит системную ошибку.
	ErrCustomErrorHasSystemError = NewKindSystem("custom error has an system error")

	// ErrCustomErrorHasNoWrappedError - пользовательская ошибка содержит необработанную ошибку.
	ErrCustomErrorHasNoWrappedError = NewKindInternal("custom error has no wrapped error")
)

Functions

func InitDefaultOptions added in v0.13.0

func InitDefaultOptions(handler OptionsHandler)

InitDefaultOptions - с помощью указанного обработчика одноразово присваивает опции по умолчанию всем созданным через New() ошибкам в момент инициализации приложения, при этом, не изменяет опции, которые были явно переданы в конструктор такой ошибки. После этого, этот обработчик сохраняется и начинает вызываться каждый раз в момент создания очередной такой ошибки.

func New

func New(kind ErrorKind, message string, opts ...Option) *mrerrors.ProtoError

New - создаёт фабрику ProtoError для создания ошибок указанного типа с указанными опциями.

func NewKindInternal added in v0.14.0

func NewKindInternal(message string, opts ...Option) *mrerrors.ProtoError

NewKindInternal - создаёт фабрику ProtoError для создания ошибок типа Internal с указанными опциями.

func NewKindSystem added in v0.14.0

func NewKindSystem(message string, opts ...Option) *mrerrors.ProtoError

NewKindSystem - создаёт фабрику ProtoError для создания ошибок типа System с указанными опциями.

func NewKindUser added in v0.14.0

func NewKindUser(code, message string, opts ...Option) *mrerrors.ProtoError

NewKindUser - создаёт фабрику ProtoError для создания ошибок типа User с указанными опциями.

Types

type CustomError added in v0.7.0

type CustomError struct {
	// contains filtered or unexported fields
}

CustomError - пользовательская ошибка с уточнённым кодом ошибки. Например, код может выглядеть следующим образом: EmailAlreadyExists/userEmail Где EmailAlreadyExists - пользовательская ошибка, userEmail - поле, в которой произошла ошибка.

func NewCustomError added in v0.7.0

func NewCustomError(customCode string, err error) *CustomError

NewCustomError - создаёт объект CustomError. Если аргумент err содержит любую ошибку, которая не соответствует типу ErrorKindUser то вся эта ошибка будет считаться невалидной.

func (*CustomError) CustomCode added in v0.10.0

func (e *CustomError) CustomCode() string

CustomCode - возвращает персональный код ошибки.

func (*CustomError) Err added in v0.10.0

func (e *CustomError) Err() *mrerrors.InstantError

Err - возвращает вложенную ошибку.

func (*CustomError) Error added in v0.7.0

func (e *CustomError) Error() string

Error - возвращает ошибку в виде строки.

func (*CustomError) IsValid added in v0.10.2

func (e *CustomError) IsValid() bool

IsValid - возвращает true, если внутри содержится пользовательская ошибка, все остальные ошибки считаются невалидными, программисту необходимо позаботиться их обернуть в пользовательский вид ошибки.

type CustomErrors added in v0.10.1

type CustomErrors []*CustomError

CustomErrors - список пользовательских ошибок.

func (CustomErrors) Error added in v0.10.1

func (es CustomErrors) Error() string

Error - возвращает список пользовательских ошибок в виде строки.

type ErrorHandler added in v0.14.0

type ErrorHandler struct {
	// contains filtered or unexported fields
}

ErrorHandler - обработчик ошибок какого либо сервиса или приложения в целом.

func NewErrorHandler added in v0.14.0

func NewErrorHandler(handler func(ctx context.Context, analyzedKind ErrorKind, err error), wrapper unknownErrorWrapper) *ErrorHandler

NewErrorHandler - создаёт объект ErrorHandler.

func (*ErrorHandler) Handle added in v0.14.0

func (h *ErrorHandler) Handle(ctx context.Context, err error)

Handle - версия метода HandleWith без вызова дополнительного обработчика.

func (*ErrorHandler) HandleWith added in v0.14.0

func (h *ErrorHandler) HandleWith(ctx context.Context, err error, extraHandler func(analyzedKind ErrorKind, err error))

HandleWith - анализирует ошибку, если ошибка типа ErrorKindUnknown, то оборачивает её, далее вызывает основной обработчик, который был указан в конструкторе, а затем обработчик extraHandler. В результате вызова этих обработчиков ошибка может быть, например, каким-то способом залогирована / отправлена во внешний источник / использована для правильного формирования ответа серверу и т.д.

type ErrorKind

type ErrorKind = mrerrors.ErrorKind

ErrorKind - алиас mrerrors.ErrorKind.

type MessageReplacer added in v0.14.0

type MessageReplacer = mrerrors.MessageReplacer

MessageReplacer - алиас mrerrors.MessageReplacer.

type Option added in v0.14.0

type Option func(o *options)

Option - настройка объекта mrerrors.ProtoError.

func WithArgsReplacer added in v0.14.0

func WithArgsReplacer(value func(message string) mrerrors.MessageReplacer) Option

WithArgsReplacer - устанавливает функцию возвращающую объект для замены аргументов, указанных в сообщении на их конкретные значения.

func WithCaller added in v0.14.0

func WithCaller(value func() mrerrors.StackTracer) Option

WithCaller - устанавливает функцию, которая создаёт стек вызовов при создании экземпляра ошибки.

func WithCode added in v0.14.0

func WithCode(value string) Option

WithCode - устанавливает код ошибки.

func WithDefaultArgsReplacer added in v0.14.0

func WithDefaultArgsReplacer() Option

WithDefaultArgsReplacer - устанавливает функцию возвращающую объект по умолчанию для замены аргументов, указанных в сообщении на их конкретные значения.

func WithDefaultCaller added in v0.14.0

func WithDefaultCaller() Option

WithDefaultCaller - устанавливает формирование стека вызовов с опциями по умолчанию при создании экземпляра ошибки.

func WithDefaultOnCreated added in v0.14.0

func WithDefaultOnCreated() Option

WithDefaultOnCreated - устанавливает обработчик по умолчанию события создания экземпляра ошибки, который генерирует уникальный ID ошибки и возвращает его.

func WithDisabledCaller added in v0.14.0

func WithDisabledCaller() Option

WithDisabledCaller - отключает формирование стека вызовов при создании экземпляра ошибки.

func WithDisabledOnCreated added in v0.14.0

func WithDisabledOnCreated() Option

WithDisabledOnCreated - отключает обработчик события создания экземпляра ошибки.

func WithOnCreated added in v0.14.0

func WithOnCreated(value func(ctx context.Context, err error) (instanceID string)) Option

WithOnCreated - устанавливает обработчик события создания экземпляра ошибки.

type OptionsHandler added in v0.14.0

type OptionsHandler interface {
	Options(kind ErrorKind, code, message string) []Option
}

OptionsHandler - обработчик формирования списка опций для указанных типов ошибок.

type OptionsHandlerFunc added in v0.14.0

type OptionsHandlerFunc func(kind ErrorKind, code, message string) []Option

OptionsHandlerFunc - обработчик формирования списка опций в виде функции.

func DefaultOptionsHandler added in v0.14.0

func DefaultOptionsHandler() OptionsHandlerFunc

DefaultOptionsHandler - возвращает обработчик по умолчанию для формирования опций по умолчанию, необходимый для вызова InitDefaultOptions().

func (OptionsHandlerFunc) Options added in v0.14.0

func (f OptionsHandlerFunc) Options(kind ErrorKind, code, message string) []Option

Options - реализация интерфейса OptionsHandler в виде функции для формирования списка опций.

type StackTracer added in v0.9.0

type StackTracer = mrerrors.StackTracer

StackTracer - алиас mrerrors.StackTracer.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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