异常处理
# 1.打印异常信息
- 方式一: 通过 fmt 包中的 Errorf 函数创建错误信息, 然后打印
- 方式二: 通过 errors 包中的 New 函数创建错误信息,然后打印
package main
import (
"errors"
"fmt"
)
func div(a, b int) (res int, err error) {
if b == 0 {
// 一旦传入的除数为0, 就会返回error信息
err = errors.New("除数不能为0")
} else {
res = a / b
}
return
}
func main() {
res, err := div(10, 5)
//res, err := div(10, 0)
if err != nil {
fmt.Println(err) // 除数不能为0
} else {
fmt.Println(res) // 2
}
}
# 2.中断程序
注意:除非是不可恢复性、导致系统无法正常工作的错误, 否则不建议使用 panic
# 3.恢复程序
- 在 Go 语言中我们可以通过 defer 和 recover 来实现 panic 异常的捕获, 让程序继续执行