package main import ( "errors" "fmt" "time" ) /* 错误处理机制 */ func test() { num1 := 10 num2 := 0 res := num1 / num2 fmt.Println(res) defer func() { //匿名函数程序执行完或者出现异常执行 err := recover() //用recover来捕获异常 if err != nil { //判断err不等于nil就是有异常了,这样程序就不会崩溃继而往下执行 fmt.Println(err) } }() } //读取一个配置文件 如果文件名错误 返回一个自定义错误 func readConf(name string) (err error){ if name=="init.conf"{ return nil }else{ return errors.New("读取文件错误") } } func test2(){ err:=readConf("init2.conf") if err!=nil{ panic(err)//读取文件错误 就输出错误并终止程序 } fmt.Println("读取成功") } func main() { test() for { fmt.Println("test()下就可以输出了") time.Sleep(time.Second) //休眠 意思是间隔多长时间后再执行 } test2() }