Programming/Go
Go언어 예외처리(panic, recover) 편
KayEsQuo
2021. 2. 26. 14:22
Go언어에서의 예외처리 사용법은 다른언어들에서 볼 수 있는 tryCatch 구조와는 약간 다르다. 따라서 Go언어에서 이용할수 있는 예외처리 방법을 설명하고자 한다.
[panic함수 예제]
package main
import "fmt"
func main() {
var a int = 1
if a == 1 {
panic("에러")
}
fmt.Println("hello world")
}

panic함수 사용법을 정리하면 다음과 같다.
1. panic함수 실행시 프로그램이 종료가 실행된다.
2. panic 실행이후 에러위치를 나타낸다.
[panic & recover 예제]
설명
var a의 값에 따라 예외처리를 알아보는 코드이다. 결과를 정리하면 다음과같다.
1. 에러(a가 1일때)
2. 성공(a가 1이 아닐때)
package main
import "fmt"
func main() {
defer func() {
s := recover()
if s != nil {
fmt.Println("error :", s) // 에러일때 nil 반환
} else {
fmt.Println("success") // 에러가 아닐때 nil 반환
}
}()
var a int = 1 // 1 or 9999(실패 성공 판단여부)
if a == 1 {
panic("에러")
}
fmt.Println("hello world")
}
[성공 예시]

[에러 예시]
