其他分享
首页 > 其他分享> > 错误处理机制

错误处理机制

作者:互联网

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下面的代码")
}

  

  

标签:recover,err,func,error,错误处理,main,panic,机制
来源: https://www.cnblogs.com/smilexuezi/p/15957919.html