diff --git a/cmd/protoc-gen-go-tableau-loader/error.go b/cmd/protoc-gen-go-tableau-loader/error.go index 3c2c9f82..383e116e 100644 --- a/cmd/protoc-gen-go-tableau-loader/error.go +++ b/cmd/protoc-gen-go-tableau-loader/error.go @@ -17,6 +17,7 @@ func generateError(gen *protogen.Plugin) { g.P("package ", errPkg) g.P() g.P(`import (`) + g.P(`"errors"`) g.P(`"fmt"`) g.P(codePackage) g.P(")") @@ -56,8 +57,9 @@ func Code(err error) code.Code { if err == nil { return code.Success } - if ferr, ok := err.(*Error); ok { - return ferr.Code() + var e *Error + if errors.As(err, &e) { + return e.Code() } return code.Unknown } diff --git a/test/go-tableau-loader/protoconf/loader/xerrors/xerrors.pc.go b/test/go-tableau-loader/protoconf/loader/xerrors/xerrors.pc.go index 5f1409e7..22daecbb 100644 --- a/test/go-tableau-loader/protoconf/loader/xerrors/xerrors.pc.go +++ b/test/go-tableau-loader/protoconf/loader/xerrors/xerrors.pc.go @@ -6,6 +6,7 @@ package xerrors import ( + "errors" "fmt" "github.com/tableauio/loader/test/go-tableau-loader/protoconf/loader/code" ) @@ -40,8 +41,9 @@ func Code(err error) code.Code { if err == nil { return code.Success } - if ferr, ok := err.(*Error); ok { - return ferr.Code() + var e *Error + if errors.As(err, &e) { + return e.Code() } return code.Unknown }