作者:hnzhenlin | 来源:互联网 | 2023-10-13 09:07
go异常处理import(errorsfmt)funcmain(){num,err:ErrorTest(0,10)iferr!nil{fmt.Println(err)}else{f
go异常处理
import (
"errors"
"fmt"
)
func main() {
num, err := ErrorTest(0, 10)
if err != nil {
fmt.Println(err)
} else {
fmt.Println(num)
}
}
func ErrorTest(num2 int, num1 int) (result int, err error) {
if num2 == 0 {
err = errors.New("num2不能等于0")
return
}
result = num1 / num2
return
}
recover
recover只有在defer调用的函数中生效
import "fmt"
func main() {
test(11)
}
func test(n int) {
defer TestRecover()
var num [10]int
num[n] = 12
fmt.Println(num)
fmt.Println("aaaa")
}
func TestRecover() {
//recover() //拦截panic函数异常
fmt.Println(recover())
}