Go 提供了两种处理错误 方式,
一 种是借助 panic和 recover 的抛出捕获机制,
另一种使用error 错误类型
一、异常
1、go没有try/catch,而是使用panic/recover。
panic包出异常,后续代码不再执行
recover再defer中捕获异常,使groutine(即程序)能够正常退出。
1)只有panic,而没有recover,程序宕机无法正常退出
package main
import "fmt"
func send(a, b int) int {
if b == 0 {
panic("wrong div")
}
c := a / b
return c
}
func main() {
defer func() {
fmt.Println("wrong")
}()
send(1, 0)
}
执行结果:错误
2) 正确情况,使用panic、recover
package main
import "fmt"
func send(a,