// package def_err -- базовый тип ошибки package def_err import ( "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 := def_spec.Sprintf(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() }