Golang によるエラーの定義方法
開発プロセス中、標準ライブラリから返されるエラーの内容がニーズを満たせなくなったとき、 go のエラーはインターフェイスです。
関連する推奨事項: golang チュートリアル
type error interface { Error() string }
したがって、必要なのは Error() 文字列関数を含む構造体を作成することだけです。
1. go path
vim $GOPATH/github.com/mypractise/error/errors.go
package errors type Error struct { ErrCode int ErrMsg string } func NewError(code int, msg string) *Error { return &Error{ErrCode: code, ErrMsg: msg} } func (err *Error) Error() string { return err.ErrMsg }
の下に新しいエラー パッケージを作成します。 2. エラー package
vim ./test.go
package main import ( "encoding/json" "errors" "fmt" myerr "github.com/mypractise/errors" ) func myErr() error { err := myerr.NewError(2, "err test") return err } func staErr() error { m := make(map[string]string) err := json.Unmarshal([]byte(""), m) if err != nil { return err } return errors.New("aaaaa") } func main() { err1 := staErr() fmt.Println("------sta err:", err1.Error()) err2 := myErr() fmt.Println("------my err:", err2.Error(), err2.(*myerr.Error).ErrCode) }
3 の呼び出しを開始します。test
go run ./test.go
を実行します。 PHP 中国語 Web サイト、多数のプログラミング チュートリアル、Web サイト構築チュートリアル、学習へようこそ。
以上がGolang がエラーを定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。