mrerr

package
v0.11.2 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2024 License: Apache-2.0 Imports: 4 Imported by: 12

Documentation

Index

Constants

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

Variables

View Source
var (
	// ErrCustomErrorHasInternalError - пользовательская ошибка содержит внутреннюю или системную ошибку.
	ErrCustomErrorHasInternalError = NewProto(
		"errCustomErrorHasInternalError", ErrorKindInternal, "custom error has an internal error")

	// ErrCustomErrorHasNoWrappedError - пользовательская ошибка содержит необработанную ошибку.
	ErrCustomErrorHasNoWrappedError = NewProto(
		"errCustomErrorHasNoWrappedError", ErrorKindInternal, "custom error has no wrapped error")
)
View Source
var ErrErrorIsNilPointer = NewProto(
	"errErrorIsNilPointer", ErrorKindInternal, "specified error is nil")

ErrErrorIsNilPointer - указанная ошибка - nil pointer.

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 WithoutStackTrace added in v0.10.4

func WithoutStackTrace(err *AppError) *AppError

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

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, аргумент err должен содержать ошибку.

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 - возвращает ошибку в виде строки.

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 (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, extra ProtoExtra) *ProtoAppError

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

func WithExtra added in v0.10.0

func WithExtra(proto ProtoAppError, extra ProtoExtra) ProtoAppError

WithExtra - создаёт новую ProtoAppError на основе указанной с дополнительными параметрами.

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 - всегда создаёт новую копию текущего объекта, при этом вызываются функции caller и onCreated если они были установлены.

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 ProtoExtra added in v0.10.4

type ProtoExtra struct {
	Caller    func() StackTracer
	OnCreated func(err *AppError) (instanceID string)
}

ProtoExtra - дополнительные опции для создания ProtoAppError.

type StackTracer added in v0.9.0

type StackTracer interface {
	Count() int
	Item(index int) (name, 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