点击运行
package main import ( "fmt" ) func recoverInvalidAccess() { if r := recover(); r != nil { fmt.Println("Recovered", r) } } func invalidSliceAccess() { defer recoverInvalidAccess() n := []int{5, 7, 4} fmt.Println(n[4]) fmt.Println("normally returned from a") } func main() { invalidSliceAccess() fmt.Println("normally returned from main") }
运行结果 :
正在执行...