mrerr

package
v0.10.1 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2024 License: Apache-2.0 Imports: 5 Imported by: 12

Documentation

Index

Constants

View Source
const (
	ErrorCodeInternal = "errInternal" // ErrorCodeInternal - обобщённый код ошибки: внутренняя ошибка приложения
	ErrorCodeSystem   = "errSystem"   // ErrorCodeSystem - обобщённый код ошибки: системная ошибка приложения
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AppError

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

AppError - ошибка с поддержкой параметров, ID экземпляра ошибки и стека вызовов.

func Cast added in v0.10.0

func Cast(proto *ProtoAppError) *AppError

Cast - преобразует в ошибку AppError без вызова generateID и caller.

func (*AppError) Code added in v0.7.0

func (e *AppError) Code() string

Code - возвращает код ошибки.

func (*AppError) Error

func (e *AppError) Error() string

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

func (*AppError) InstanceID added in v0.9.0

func (e *AppError) InstanceID() string

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

func (*AppError) Is

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

Is - проверяется что ошибка с указанным кодом (для возможности использования errors.Is).

func (*AppError) Kind

func (e *AppError) Kind() ErrorKind

Kind - возвращает тип ошибки.

func (*AppError) Translate added in v0.1.1

func (e *AppError) Translate(t translator) mrmsg.ErrorMessage

Translate - возвращает сформированное сообщение предназначенное для пользователя.

func (*AppError) Unwrap

func (e *AppError) Unwrap() error

Unwrap - возвращает вложенную ошибку (errors.Is использует этот интерфейс).

func (*AppError) WithAttr added in v0.10.0

func (e *AppError) WithAttr(name string, value any) *AppError

WithAttr - возвращает новую ошибку с прикреплённым к нему именованным атрибутом.

type CustomError added in v0.7.0

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

CustomError - пользовательская ошибка с персональным кодом.

func NewCustomError added in v0.7.0

func NewCustomError(customCode string, err error) *CustomError

NewCustomError - создаёт объект CustomError.

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() *AppError

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

func (*CustomError) Error added in v0.7.0

func (e *CustomError) Error() string

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

type CustomErrors added in v0.10.1

type CustomErrors []*CustomError

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

func (CustomErrors) Error added in v0.10.1

func (l CustomErrors) Error() string

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

type ErrorKind

type ErrorKind int8

ErrorKind - вид ошибки.

const (
	ErrorKindInternal ErrorKind = iota // ErrorKindInternal - внутренняя ошибка приложения (например: обращение по nil указателю)
	ErrorKindSystem                    // ErrorKindSystem - системная ошибка приложения (например: проблемы с сетью, с доступом к файлу)
	ErrorKindUser                      // ErrorKindUser - пользовательская ошибка (например: значение указанного поля некорректно)
)

func (ErrorKind) String added in v0.5.0

func (k ErrorKind) String() string

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

type ProtoAppError added in v0.10.1

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

ProtoAppError - прототип ошибки с поддержкой параметров, ID экземпляра ошибки и стека вызовов.

func NewProto added in v0.10.0

func NewProto(code string, kind ErrorKind, message string) *ProtoAppError

NewProto - создаёт объект ProtoAppError.

func NewProtoWithExtra added in v0.10.0

func NewProtoWithExtra(code string, kind ErrorKind, message string, generateID func() string, caller func() StackTracer) *ProtoAppError

NewProtoWithExtra - создаёт объект ProtoAppError с дополнительными параметрами.

func WithExtra added in v0.10.0

func WithExtra(proto *ProtoAppError, generateID func() string, caller func() StackTracer) *ProtoAppError

WithExtra - создаёт новую ошибку на основе указанной с указанными генераторами.

func (*ProtoAppError) Code added in v0.10.1

func (e *ProtoAppError) Code() string

Code - возвращает код ошибки.

func (*ProtoAppError) Error added in v0.10.1

func (e *ProtoAppError) Error() string

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

func (*ProtoAppError) Is added in v0.10.1

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

Is - проверяется что ошибка с указанным кодом (для возможности использования errors.Is).

func (*ProtoAppError) Kind added in v0.10.1

func (e *ProtoAppError) Kind() ErrorKind

Kind - возвращает тип ошибки.

func (*ProtoAppError) New added in v0.10.1

func (e *ProtoAppError) New(args ...any) *AppError

New - всегда создаёт новую копию текущего объекта, при этом вызываются функции generateID и stackTrace.caller.

func (*ProtoAppError) Translate added in v0.10.1

func (e *ProtoAppError) Translate(t translator) mrmsg.ErrorMessage

Translate - возвращает сформированное сообщение предназначенное для пользователя.

func (*ProtoAppError) Wrap added in v0.10.1

func (e *ProtoAppError) Wrap(err error, args ...any) *AppError

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

type StackTracer added in v0.9.0

type StackTracer interface {
	Count() int
	FileLine(index int) (file string, line int)
}

StackTracer - предоставляет доступ к стеку вызовов.

Directories

Path Synopsis
Package mock_mrerr is a generated GoMock package.
Package mock_mrerr is a generated GoMock package.

Jump to

Keyboard shortcuts

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