go- 6.5 错误处理
1. 基本说明
1. go不支持传统的try---finally 2. go中引入的处理方式为:defer,panic,recover 3. 描述:go中可以抛出一个panic异常,然后在defer中通过recover捕获这个异常,然后正常处理
2. 使用defer+recover来处理错误
package main import( "fmt" "time" ) func test(){ defer func(){ err := recover // recover()可以捕获到异常 if err != nil { fmt.Println("err=", err) } }() num1 := 10 num2 := 0 res := num1/num2 fmt.Println("res", res) } func main(){ test() }
3.自定义错误
1. 使用errors.New("错误说明")和panic内置函数 2. errors.New("错误说明"),会返回一个error类型的值,表示一个错误 3. panic内置函数,接收一个interface{}类型的值(也就是任何值)作为参数,可以接收error类型的变量,输出错误信息,并退出程序