您的位置 首页 技术

Golang如何定义error

Golang如何定义error 在开发过程中, 标准库返回的error内容已经无法满足我们的需要时,发现builtin.go中error是一个interface, 相关推荐:gol…

Golang如何定义error

在开发过程中, 标准库返回的error内容已经无法满足我们的需要时,发现builtin.go中error是一个interface,

相关推荐:golang教程

type error interface {    Error() string}

所以只需要创建一个包含Error() string函数的结构体即可。

1、在go path下新建errors包

vim $GOPATH/github.com/mypractise/error/errors.go

package errorstype 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、开始调用errors包

vim ./test.go

package mainimport (    "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

PHP中文网,大量编程教程和网站建设教程,欢迎学习。

以上就是Golang如何定义error的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/51162.html

为您推荐

返回顶部