Вопрос: Как работает `panic` и `recover` на базовом уровне?
Go
Junior
Без компании
Вопрос: Как работает `panic` и `recover` на базовом уровне?
Ответы
```go
func safe() {
defer func() {
if r := recover(); r != nil {
fmt.Println("recovered:", r)
}
}()
panic("boom")
}
```
**Как это работает:** `panic` раскручивает стек. `recover` работает только внутри `defer` и позволяет перехватить панику.