golang怎么自定义错误


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

#http://xiaorui.cc

package main

  

import (

    "errors"

    "fmt"

)

  

type equalError struct {

    Num int

}

  

//方法名字是Error()

func (e equalError) Error() string {

    return fmt.Sprintf("你现在是数字是 %d ,还是超了55", e.Num)

}

  

func Equal(n int) (int, error) {

    if n > 55 {

        return -1, errors.New("超过了55") //生成一个简单的 error 类型

    }

    return n, nil

}

  

func DiyEqual(n int) (int, error) {

    if n > 55 {

        return -1, equalError{Num: n} // 会调用equalError的Error方法

    }

    return n, nil

}

  

func main() {

    //使用errors.New生成error对象

    if result, err := Equal(100); err != nil {

        fmt.Println("错误:", err)

    } else {

        fmt.Println("结果:", result)

    }

  

    //不适用erros,自定义错误方式.

    if result, err := DiyEqual(100); err != nil {

        fmt.Println("错误:", err)

    } else {

        fmt.Println("结果:", result)

    }

  

}

相关推荐:golang教程

以上就是golang怎么自定义错误的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

golang 写个快速排序

golang语言社区投稿】golang高并发基于协程,通道的任务池

golang编译为什么快

kube-apiserver内存溢出问题调查及go tool pprof工具的使用

将 5 万行 java 代码移植到 go 学到的经验

单核cpu下golang调度及抢占式调度的实现

golang有类(class)吗?

09 golang sort排序

go特性总结(1.13~1.16)

一周 go world 新鲜事

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...