Golang이 오류를 정의하는 방법
개발 과정에서 표준 라이브러리에서 반환된 오류 내용이 더 이상 우리의 요구를 충족할 수 없을 때 우리는 내장된 오류가 인터페이스인
관련 권장 사항: golang tutorial
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에서 새 오류 패키지를 만듭니다. 2. 오류 패키지 호출을 시작합니다. 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. 테스트 실행
go run ./test.go
위 내용은 Golang이 오류를 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!