/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue8047b.go
26 строк
575 B
Dan Scales
runtime: ensure that Goexit cannot be aborted by a recursive panic/recover
04 ноя 2019, 19:32
04 ноя 2019, 19:32
7dcd343
Код
Авторство
О чём код?
// run // Copyright 2014 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. // Issue 8047. Defer setup during panic shouldn't crash for nil defer. package main func main() { defer func() { // This recover recovers the panic caused by the nil defer func // g(). The original panic(1) was already aborted/replaced by this // new panic, so when this recover is done, the program completes // normally. recover() }() f() } func f() { var g func() defer g() panic(1) }