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