Notice
Recent Posts
Recent Comments
Link
투케이2K
36. (Go Lang) [Mac Os] Go 문법 : defer 및 recover 함수 사용해 에러 발생 예외 처리 - try catch 대체 본문
Go Lang (Go 언어)
36. (Go Lang) [Mac Os] Go 문법 : defer 및 recover 함수 사용해 에러 발생 예외 처리 - try catch 대체
투케이2K 2024. 2. 19. 20:14[개발 환경 설정]
개발 언어 : Go
[소스 코드]
package main
import "fmt"
func main() {
// ---------------------------------------------------
// [기본 설명]
// ---------------------------------------------------
// Go에서 defer 키워드는 특정 문장 혹은 함수를 나중에 (defer를 호출하는 함수가 리턴하기 직전에) 실행 합니다
// ---------------------------------------------------
// defer는 C#, Java 같은 언어에서의 finally 블럭처럼 마지막에 Clean-up 작업을 위해 사용 됩니다
// ---------------------------------------------------
// Go에서는 java , js 와는 다르게 별도의 try catch 구문이 없어 defer 및 recover 함수 사용를 사용해 에러 발생 예외 처리를 수행합니다
// ---------------------------------------------------
// [변수 선언 및 메소드 호출]
data := divide(1, 0)
// [로그 출력 수행]
fmt.Println("")
fmt.Println("----------------------------------------------")
fmt.Println("[로그 출력 수행]")
fmt.Println("----------------------------------------------")
fmt.Println("data : ", data)
fmt.Println("----------------------------------------------")
fmt.Println("")
}
// [에러 구문 처리 함수 정의 : 0 나누기 >> 에러]
func divide(a, b int) int {
defer func() {
if err := recover(); err != nil {
fmt.Println("")
fmt.Println("----------------------------------------------")
fmt.Println("[Error 에러 발생]")
fmt.Println("----------------------------------------------")
fmt.Println(err)
fmt.Println("----------------------------------------------")
fmt.Println("")
}
}()
return a / b
}
[결과 출력]
반응형
'Go Lang (Go 언어)' 카테고리의 다른 글
Comments