Как не потерять stack trace при recover?

Middle
157 просмотров
AFK Offer AI

recover() возвращает только значение panic, без стектрейса. Чтобы сохранить стек: используй runtime.Stack() или debug.Stack() внутри defer-recover. Можно обернуть в error с стектрейсом: pkg/errors.WithStack() или fmt.Errorf с %+v. В Go 1.21+ runtime/debug.SetPanicOnFault. Без сохранения стека ты увидишь только «panic: runtime error» и не поймёшь откуда.

Следующий вопрос

Что такое type parameter list?