错误处理机制

2022/3/3 6:16:20

本文主要是介绍错误处理机制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、Go中引入的处理方式为:defer,panic,recover

Go中可以抛出一个panic异常,然后在defer中通过recover捕获这个异常。然后正常处理

func test() {
    defer func() {
	if err := recover(); err != nil { // recover()内置函数,可以捕获异常
		fmt.Println("err=", err)
	}
    }()
    num1 := 10
    num2 := 0
    res := num1 / num2
    fmt.Println("res=", res)
}

func main() {
    test()
    fmt.Println("main下面的代码")
}

输出:

err= runtime error: integer divide by zero
main下面的代码

 

2、自定义错误

使用errors.New和panic内置函数

errors.New("错误说明"),会返回一个error值,使用error类型的值,表示一个错误

panic内置函数,接收一个interface{}类型的值(也就是任意值)作为函数,可以接收error类型的变量,输出错误信息,并退出程序

func test(code string) (err error) {
    if code != "200" {
        err = errors.New("接口调用失败")
    }
    return
}

func main() {
    err := test("100")
    if err != nil {
	// 如果接口调用失败,就会输出这个错误,并终止程序
	panic(err)
    }
    fmt.Println("main下面的代码")
}

  

  



这篇关于错误处理机制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程