+++ /dev/null
-package main
-
-// Tests of panic/recover.
-
-import "fmt"
-
-func fortyTwo() (r int) {
- r = 42
- // The next two statements simulate a 'return' statement.
- defer func() { recover() }()
- panic(nil)
-}
-
-func zero() int {
- defer func() { recover() }()
- panic(1)
-}
-
-func zeroEmpty() (int, string) {
- defer func() { recover() }()
- panic(1)
-}
-
-func main() {
- if r := fortyTwo(); r != 42 {
- panic(r)
- }
- if r := zero(); r != 0 {
- panic(r)
- }
- if r, s := zeroEmpty(); r != 0 || s != "" {
- panic(fmt.Sprint(r, s))
- }
-}