28 lines
280 B
Go
28 lines
280 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
func main() {
|
|
value := func() (result int) {
|
|
defer func() {
|
|
v := recover()
|
|
result = v.(int)
|
|
}()
|
|
|
|
func() {
|
|
func() {
|
|
func() {
|
|
panic(123)
|
|
// ...
|
|
}()
|
|
// ...
|
|
}()
|
|
// ...
|
|
}()
|
|
|
|
return
|
|
}()
|
|
|
|
fmt.Println(value)
|
|
}
|