栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

Golang如何定义error

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Golang如何定义error

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的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/794042.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号