Golang教程-Go Recover

Go Recover(恢复)
Recover用于从恐慌(panic)或错误条件中重新获得程序的控制权。它停止终止序列并恢复正常执行。它在延迟函数中调用。它检索通过panic调用传递的错误值。通常情况下,它返回nil,没有其他效果。
Go recover() 示例
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