Updated:

less than 1 minute read

개요

  • panic 함수를 이용하여 패닉 발생 가능
  • 일반적으로는 error로 처리해야하며 예상치 못한 에러에 대해서만 사용할 것을 권장
  • 패닉 발생 시 스택 트레이스 출력
  • 패닉이 발생해도 패닉 이전의 defer는 수행


예제

  • 코드
     package main
        
     func main() {
     	defer println(1)
        
     	if true {
     		panic("!!!")
     	}
        
     	defer println(2)
     }
    
  • 실행 결과
     1
     panic: !!!
        
     goroutine 1 [running]:
     main.main()
             /home/chp/test/go/test/main.go:7 +0x49
     exit status 2