2.5 错误处理机制
2.5.1 基本说明
2.5.2 入门示例
func test() {
num1 := 10
num2 := 0
ret := num1 / num2
fmt.Println(ret)
}
func testPanic() {
defer func() {
err := recover()
if err != nil {
fmt.Println("err=", err)
}
}()
num1 := 10
num2 := 0
ret := num1 / num2
fmt.Println(ret)
}
func main() {
testPanic()
fmt.Println("testPanic()执行完毕~~~")
}
2.5.3 自定义错误
- Go程序中支持自定义错误,使用errors.New和panic内置函数
- errors.New(“xxx”) 用来生成一个自定义错误,返回值是一个错误码
- panic内置函数用来接收一个interface{}类型的值作为参数,因此可以接受自定义的错误类型。提示错误信息并退出程序
func readConf(name string) (err error) {
if name != "ipsec.conf" {
return errors.New("输入的文件名称有误!")
}
return nil
}
func test2() {
if err := readConf("ipsecX.conf"); err != nil {
panic(err)
}
fmt.Println("后续代码继续执行~~~")
}
func main() {
test2()
}