Closed trinhdn97 closed 3 years ago
package main
import (
"errors"
"fmt"
)
var (
ErrTest = &KVMError{
Reason: "test err",
Data: "wrong format",
}
)
type KVMError struct {
Reason string
Data interface{}
}
func (r *KVMError) Error() string {
return r.Reason
}
func DoErrTest() error {
return ErrTest
}
func main() {
var kvmErr *KVMError
err := DoErrTest()
if errors.As(err, &kvmErr) {
fmt.Println("KVMErr", kvmErr.Reason)
fmt.Println("KVMErr", kvmErr.Data)
}
}