[Go] 패닉 복구
Updated:
개요
- 패닉 상태를 복구
- 패닉이 발생한 함수는 즉시 종료되지만 그 이후는 계속 실행
- panic 함수에 전달된 값은 recover 함수가 반환
예제
- 코드
package main import "fmt" func wrapper() { r := recover() if r == nil { return } fmt.Println(r) } func test() { defer wrapper() if true { panic("!!!") } println("test() end") } func main() { test() println("main end") }
- 실행 결과
!!! main end