跳转到主内容
· 0 次阅读

go中的panic和recover

Go 中的 `panic` 会导致当前 goroutine 崩溃,若未被 `recover` 捕获,则程序终止。`recover` 需配合 `defer` 使用,只能捕获**当前 goroutine** 内的 panic。若 panic 发生在子 goroutine 中,主 goroutine 的 `recover` 无法捕获,程序仍会崩溃,因此每个 goroutine 内需单独设置 `defer+recover` 才能防止异常扩散。