// run | |
// Copyright 2025 The Go Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style | |
// license that can be found in the LICENSE file. | |
package main | |
import ( | |
"errors" | |
"fmt" | |
"os" | |
) | |
func crashOnErr(err error) int { | |
if err != nil { | |
panic(err) | |
} | |
return 10 | |
} | |
func main() { | |
defer func() { | |
if recover() == nil { | |
fmt.Println("failed to have expected panic") | |
os.Exit(1) | |
} | |
}() | |
s := make([]int, crashOnErr(errors.New("test error"))) | |
println("unreachable: len(s) =", len(s)) | |
} |