// package def_err -- обёпнутая ошибка package def_err import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec_base" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_spec_fn" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/def_txt" "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers" ) // LErr -- обёрнутая ошибка. type LErr struct { def_txt.LTxt } // LetErr -- создать новую обёрнутую ошибку. func LetErr[T def_spec_fn.TxtConstraint](msg T, arg ...any) *LErr { helpers.If(msg == "").Hassert("LetErr(): msg is empty") sf := &LErr{ LTxt: *def_txt.LetTxt(msg, arg...), } return sf } // WrapErr -- возвращает обёрнутую ошибку. func (sf *LErr) WrapErr(err error, arg ...any) *LErr { _sf := &LErr{ LTxt: *def_txt.LetTxt(err.Error(), arg...), } return _sf } // IsErr -- возвращает true, если ошибка. func (sf *LErr) IsErr() def_spec_base.Bool { return sf.Get() != "" } // Error -- возвращает хранимую ошибку. func (sf *LErr) Error() string { return sf.String() }