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怎么自定义错误的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

go基础及语法(四)

golang判断tcp是否断开的方法

golang的zap怎么使用

golang ip地址字符串整数string int相互转换

json序列化在golang中的应用

golang基于heap库实现简易优先队列

go 执行命令获取结果 golang os/exec stdoutpipe stdinpipe

教你使用golang实现redis服务器

golang recover后怎么返回

手撸golang go与微服务 saga模式之2

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




打赏

取消

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

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

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

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

评论

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