Documentation ¶
Index ¶
- Constants
- Variables
- type AppError
- func (e *AppError) Code() string
- func (e *AppError) Error() string
- func (e *AppError) InstanceID() string
- func (e *AppError) Is(err error) bool
- func (e *AppError) Kind() ErrorKind
- func (e *AppError) Translate(t translator) mrmsg.ErrorMessage
- func (e *AppError) Unwrap() error
- func (e *AppError) WithAttr(name string, value any) *AppError
- type CustomError
- type CustomErrors
- type ErrorKind
- type ProtoAppError
- func (e *ProtoAppError) Code() string
- func (e *ProtoAppError) Error() string
- func (e *ProtoAppError) Is(err error) bool
- func (e *ProtoAppError) Kind() ErrorKind
- func (e *ProtoAppError) New(args ...any) *AppError
- func (e *ProtoAppError) Translate(t translator) mrmsg.ErrorMessage
- func (e *ProtoAppError) Wrap(err error, args ...any) *AppError
- type ProtoExtra
- type StackTracer
Constants ¶
const ( ErrorCodeUnexpectedInternal = "errUnexpectedInternal" // ErrorCodeUnexpectedInternal - обобщённый код ошибки: внутренняя ошибка приложения ErrorCodeUnexpectedSystem = "errUnexpectedSystem" // ErrorCodeUnexpectedSystem - обобщённый код ошибки: системная ошибка приложения )
Variables ¶
var ( // ErrCustomErrorHasInternalError - пользовательская ошибка содержит внутреннюю или системную ошибку. ErrCustomErrorHasInternalError = NewProto( "errCustomErrorHasInternalError", ErrorKindInternal, "custom error has an internal error") // ErrCustomErrorHasNoWrappedError - пользовательская ошибка содержит необработанную ошибку. ErrCustomErrorHasNoWrappedError = NewProto( "errCustomErrorHasNoWrappedError", ErrorKindInternal, "custom error has no wrapped error") )
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
WithoutStackTrace - возвращает ошибку без стека вызовов.
func (*AppError) Code ¶ added in v0.7.0
func (e *AppError) Code() string
Code - возвращает код ошибки.
func (*AppError) InstanceID ¶ added in v0.9.0
InstanceID - возвращает уникальный идентификатор случившейся ошибки. Но только если в фабрике, породившей эту ошибку, был установлен генератор ID ошибок, В противном случае вернётся пустая строка.
func (*AppError) Is ¶
Is - проверяется что ошибка с указанным кодом (для возможности использования errors.Is).
func (*AppError) Translate ¶ added in v0.1.1
func (e *AppError) Translate(t translator) mrmsg.ErrorMessage
Translate - возвращает сформированное сообщение предназначенное для пользователя.
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 - пользовательская ошибка (например: значение указанного поля некорректно) )
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
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.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package mock_mrerr is a generated GoMock package.
|
Package mock_mrerr is a generated GoMock package. |