v0.0.219 implement error.Is(*) for exerr
This commit is contained in:
parent
190584e0e6
commit
2f1b784dc2
@ -22,7 +22,7 @@ type ExErr struct {
|
|||||||
WrappedErrType string `json:"wrappedErrType"`
|
WrappedErrType string `json:"wrappedErrType"`
|
||||||
Caller string `json:"caller"`
|
Caller string `json:"caller"`
|
||||||
|
|
||||||
OriginalError *ExErr
|
OriginalError *ExErr `json:"originalError"`
|
||||||
|
|
||||||
Meta MetaMap `json:"meta"`
|
Meta MetaMap `json:"meta"`
|
||||||
}
|
}
|
||||||
@ -31,10 +31,16 @@ func (ee *ExErr) Error() string {
|
|||||||
return ee.Message
|
return ee.Message
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Unwrap must be implemented so that some error.XXX methods work
|
||||||
func (ee *ExErr) Unwrap() error {
|
func (ee *ExErr) Unwrap() error {
|
||||||
return ee.OriginalError
|
return ee.OriginalError
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Is must be implemented so that error.Is(x) works
|
||||||
|
func (ee *ExErr) Is(e error) bool {
|
||||||
|
return IsFrom(ee, e)
|
||||||
|
}
|
||||||
|
|
||||||
func (ee *ExErr) Log(evt *zerolog.Event) {
|
func (ee *ExErr) Log(evt *zerolog.Event) {
|
||||||
evt.Msg(ee.FormatLog(LogPrintFull))
|
evt.Msg(ee.FormatLog(LogPrintFull))
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,8 @@ func IsFrom(e error, original error) bool {
|
|||||||
if e == nil {
|
if e == nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//goland:noinspection GoDirectComparisonOfErrors
|
||||||
if e == original {
|
if e == original {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
package goext
|
package goext
|
||||||
|
|
||||||
const GoextVersion = "0.0.218"
|
const GoextVersion = "0.0.219"
|
||||||
|
|
||||||
const GoextVersionTimestamp = "2023-07-27T17:16:30+0200"
|
const GoextVersionTimestamp = "2023-07-28T15:42:12+0200"
|
||||||
|
Loading…
Reference in New Issue
Block a user