단순 에러 생성하기
Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 106번째.
Go에서는 표준 라이브러리의 errors.New() 함수를 사용하여 사용자 정의 에러를 생성할 수 있습니다.
errors 패키지를 가져옵니다:
import (
"errors"
"fmt"
)메시지와 함께 간단한 에러를 생성합니다:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, errors.New("cannot divide by zero")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Result:", result)
}
}출력 결과는 다음과 같습니다:
Error: cannot divide by zero챌린지
초급이 챌린지에서는 errors.New() 함수를 사용하여 Go에서 간단한 에러를 생성하는 연습을 합니다.
사용자 이름이 유효한지 확인하는 함수가 있습니다. 사용자 이름은 최소 5자 이상이어야 유효한 것으로 간주됩니다. 여러분의 과제는 사용자 이름이 너무 짧을 때 적절한 에러를 반환하여 함수를 완성하는 것입니다.
치트 시트
표준 라이브러리의 errors.New()를 사용하여 사용자 정의 에러를 생성합니다:
import (
"errors"
"fmt"
)함수에서 에러를 반환합니다:
func divide(a, b int) (int, error) {
if b == 0 {
return 0, errors.New("cannot divide by zero")
}
return a / b, nil
}에러를 처리합니다:
result, err := divide(10, 0)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println("Result:", result)
}직접 해보기
package main
import (
"errors"
"fmt"
)
func main() {
// 유효한 사용자 이름으로 테스트
result, err := validateUsername("gopher123")
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println(result)
}
// 유효하지 않은 사용자 이름으로 테스트
result, err = validateUsername("go")
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Println(result)
}
}
func validateUsername(username string) (string, error) {
if len(username) < 5 {
// TODO: "username must be at least 5 characters long" 메시지와 함께 에러를 반환하세요
// 힌트: errors.New()를 사용하여 새로운 에러를 생성하세요
return "", nil // 이 라인을 교체하세요
}
return "Username is valid", nil
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입