0%

Go-错误捕获机制

Go:错误捕获机制

package main

import "fmt"

func main() {
test()
fmt.Println("上面的出发操作执行成功...")
fmt.Println("正常执行下面的逻辑...")
}

func test() {
// 利用 defer + recover 来捕获错误。 defer后面加上 () 来执行匿名函数的调用
defer func() {
// 调用recover 内置函数,来捕获错误
err := recover()
//如果没有捕获错误。返回值为零值: nil
if err != nil {
fmt.Println("错误已经捕获:")
fmt.Println("Error: ", err)
}
}()
num1 := 10
num2 := 0
result := num1 / num2
fmt.Println(result)
}