| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // package def_err -- базовый тип ошибки
- package def_err
- import (
- "fmt"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_txt"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
- )
- // KErr -- обёрнутая ошибка.
- type KErr struct {
- def_spec.ITxtFix
- }
- // Err -- создать новую обёрнутую ошибку.
- func Err(msg def_spec.ATxt, arg ...any) *KErr {
- helpers.Hassert(msg == "", "Err(): msg is empty")
- _msg := fmt.Sprintf(string(msg), arg...)
- sf := &KErr{
- ITxtFix: def_txt.Txt(_msg),
- }
- _ = def_spec.IErr(sf)
- return sf
- }
- // WrapErr -- возвращает обёрнутую ошибку.
- func WrapErr(err error) def_spec.IErr {
- _msg := def_txt.TxtFix(err.Error())
- sf := &KErr{
- ITxtFix: _msg,
- }
- return sf
- }
- // IsErr -- возвращает true, если ошибка.
- func (sf *KErr) IsErr() bool {
- return sf.Get() != ""
- }
- // Error -- возвращает хранимую ошибку.
- func (sf *KErr) Error() string {
- return sf.String()
- }
|