恢復(fù)用于從緊急情況或錯誤情況中重新獲得對程序的控制。它停止終止序列并恢復(fù)正常執(zhí)行。從延遲函數(shù)中調(diào)用。它檢索通過panic調(diào)用傳遞的錯誤值。通常,它返回nil,沒有其他效果。
package main
import (
"fmt"
)
func main() {
fmt.Println(SaveDivide(10, 0))
fmt.Println(SaveDivide(10, 10))
}
func SaveDivide(num1, num2 int) int {
defer func() {
fmt.Println(recover())
}()
quotient := num1 / num2
return quotient
}輸出:
runtime error: integer divide by zero 0 <nil> 1