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")
}
[성공 예시]
[에러 예시]
'Programming > Go' 카테고리의 다른 글
Go언어 구조체(struct) 편 (0) | 2021.02.26 |
---|---|
Go언어 리시버(receiver) 편 (0) | 2021.02.26 |
Go언어 "import cycle not allowed" 편 (0) | 2021.02.25 |
Go언어 [초간단] 명령어 Os.Args 편 (0) | 2021.02.24 |
Go언어 [초간단] 유닛테스트 편 (0) | 2021.02.23 |