Menu
Coddy logo textTech

`error` 인터페이스

Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 103번째.

Go에서 error 인터페이스는 에러 상태를 나타내는 내장 타입입니다. Error() 메서드를 구현하는 모든 타입은 이 인터페이스를 충족합니다.

다음은 error 인터페이스 정의입니다:

type error interface {
    Error() string
}

사용자 정의 에러 타입을 생성합니다:

type MyError struct {
    Message string
}

func (e MyError) Error() string {
    return e.Message
}

func main() {
    err := MyError{Message: "something went wrong"}
    fmt.Println(err)
}

출력 결과는 다음과 같습니다:

something went wrong
challenge icon

챌린지

쉬움

이 챌린지에서는 Go의 error 인터페이스를 다루게 됩니다. errors.New() 함수를 사용하여 커스텀 에러를 생성하고 에러가 존재하는지 확인해야 합니다.

코드에는 이미 에러를 반환하는 함수가 포함되어 있습니다. 여러분의 작업은 에러가 nil이 아닌지 확인하고 적절한 메시지를 출력하는 것입니다.

치트 시트

error 인터페이스는 오류 상태를 나타내는 내장 타입입니다. Error() 메서드를 구현하는 모든 타입은 이 인터페이스를 만족합니다:

type error interface {
    Error() string
}

사용자 정의 오류 타입을 생성합니다:

type MyError struct {
    Message string
}

func (e MyError) Error() string {
    return e.Message
}

func main() {
    err := MyError{Message: "something went wrong"}
    fmt.Println(err) // 출력: something went wrong
}

errors.New()를 사용하여 간단한 오류를 생성하고 오류가 nil이 아닌지 확인하세요.

직접 해보기

package main

import (
	"errors"
	"fmt"
)

func main() {
	// 이 함수는 에러를 반환합니다
	err := generateError()
	
	// TODO: err가 nil이 아닌지 확인하세요
	// err가 nil이 아니면, "Error occurred: "와 에러 메시지를 출력하세요
	// 힌트: if 문을 사용하여 err != nil인지 확인하세요
	
	
	// 이 라인은 에러가 발생하지 않았을 때만 실행됩니다
	fmt.Println("Program completed successfully")
}

// 이 함수는 에러를 생성합니다
func generateError() error {
	return errors.New("something went wrong")
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨