apperr

package
v2.3.1 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrSyntax               = New("syntax_error", WithTextTranslate(i18n.ErrSyntax), WithCode(code.InvalidArgument))
	ErrValidation           = New("validation_error", WithTextTranslate(i18n.ErrValidation), WithCode(code.InvalidArgument))
	ErrEmptyData            = New("empty_data_error", WithTextTranslate(i18n.ErrEmptyData), WithCode(code.InvalidArgument))
	ErrInternal             = New("internal_error", WithTextTranslate(i18n.ErrInternal), WithCode(code.Internal))
	ErrForbidden            = New("forbidden_error", WithTextTranslate(i18n.ErrForbidden), WithCode(code.PermissionDenied))
	ErrUnauthenticated      = New("unauthenticated_error", WithTextTranslate(i18n.ErrUnauthenticated), WithCode(code.Unauthenticated))
	ErrNotFound             = New("not_found_error", WithTextTranslate(i18n.ErrNotFound), WithCode(code.NotFound))
	ErrServerIsNotAvailable = New("server_is_not_available", WithTextTranslate(i18n.ErrServerIsNotAvailable), WithCode(code.Unavailable))
	ErrContextCanceled      = New("context_canceled", WithTextTranslate(i18n.ErrContextCanceled), WithCode(code.Unavailable))
)

Объявление стандартных ошибок приложения

View Source
var (
	ErrDBRecordNotFound = New("db_not_found", WithTextTranslate(i18n.ErrDBRecordNotFound), WithCode(code.NotFound))
	ErrDBDuplicated     = New("db_duplicated", WithTextTranslate(i18n.ErrDBDuplicated), WithCode(code.AlreadyExists))
	ErrDBInternal       = New("db_internal", WithTextTranslate(i18n.ErrDBInternal), WithCode(code.Internal))
)

Объявление стандартных ошибок базы данных

Functions

func Is

func Is(err, target error) bool

Is проверяет, является ли ошибка `err` такой же, как и `target`.

func Translate

func Translate(err error, lang string) string

Translate возвращает переведенное сообщение ошибки или исходное сообщение, если перевод не найден.

Types

type Annotator

type Annotator func(*Error)

Annotator - функция для аннотирования ошибки.

func WithCode

func WithCode(code code.Code) Annotator

WithCode создает аннотатор, который устанавливает код для ошибки.

func WithID

func WithID(id string) Annotator

WithID создает аннотатор, который устанавливает ID для ошибки.

func WithText

func WithText(text string) Annotator

WithText создает аннотатор, который устанавливает текст для ошибки.

func WithTextTranslate

func WithTextTranslate(tr translator.Translator) Annotator

WithTextTranslate создает аннотатор, который устанавливает переводчик для ошибки.

type Error

type Error struct {
	ID                string
	Code              code.Code
	Text              string
	TextTranslate     translator.Translator
	TextTranslateArgs []interface{}
	Err               error
}

func New

func New(id string, annotators ...Annotator) Error

New создает новый экземпляр Error и применяет все аннотаторы.

func Replace

func Replace(err Error, annotators ...Annotator) Error

Replace заменяет существующую ошибку новыми аннотаторами.

func (Error) Error

func (e Error) Error() string

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

func (Error) GetIDPrefix added in v2.0.4

func (e Error) GetIDPrefix() string

GetIDPrefix возвращает префикс ID до первого разделителя.

func (Error) LastError

func (e Error) LastError() error

LastError возвращает последнюю ошибку из цепочки ошибок.

func (Error) NewID

func (e Error) NewID(id string) Error

NewID устанавливает новый ID для ошибки.

func (Error) WithError

func (e Error) WithError(err error) Error

WithError добавляет внутреннюю ошибку к Error.

func (Error) WithErrorText

func (e Error) WithErrorText(err string) Error

WithErrorText создает новую ошибку из текстового сообщения.

func (Error) WithTextArgs

func (e Error) WithTextArgs(args ...interface{}) Error

WithTextArgs задает аргументы для перевода текста.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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