[go] 에러 핸들링과 로깅 시스템의 연동
에러 핸들링
Golang에서 에러 핸들링은 오류 발생 시 안정적인 시스템 동작을 위해 중요하다. 기본적으로 에러는 error
타입으로 처리되며, 발생한 에러를 적절히 처리하기 위해 다양한 방법이 존재한다.
package main
import (
"errors"
"fmt"
)
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("에러 발생:", err)
} else {
fmt.Println("결과:", result)
}
}
func divide(x, y float64) (float64, error) {
if y == 0 {
return 0, errors.New("0으로 나눌 수 없습니다")
}
return x / y, nil
}
위 예제에서 divide
함수는 두 개의 인자를 전달받아 나눗셈을 수행하고 error
를 반환한다. main
함수에서는 나눗셈 결과와 발생한 에러를 적절히 처리하는 방법을 보여준다.
로깅 시스템 연동
로깅은 시스템의 동작을 추적하고 문제를 진단하는 데 필수적이다. Golang에서는 다양한 로깅 시스템과 연동할 수 있는 라이브러리가 많이 존재한다.
package main
import (
"log"
"os"
)
func main() {
file, err := os.Open("test.txt")
if err != nil {
log.Println("파일을 열 수 없음:", err)
}
// ... (파일 처리 로직)
file.Close()
}
위 예제에서 log
패키지를 사용하여 파일을 열 때 발생한 에러를 기록하는 방법을 보여준다. 또한, 파일을 처리하는 과정에서도 로깅을 통해 중요한 정보를 기록할 수 있다.