Menu
Coddy logo textTech

`error` 인터페이스

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

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

다음은 error interface 정의입니다:

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 interface를 다루게 됩니다. errors.New() function을 사용하여 커스텀 error를 생성하고 error가 존재하는지 check해야 합니다.

코드에는 이미 error를 return하는 function이 있습니다. 여러분이 할 일은 error가 nil이 아닌지 check하고 적절한 message를 print하는 것입니다.

직접 해보기

package main

import (
	"errors"
	"fmt"
)

func main() {
	// 이 함수는 에러를 반환합니다
	err := generateError()
	
	// TODO: err가 nil이 아닌지 확인하세요
	// err가 nil이 아니면 "Error occurred: " 뒤에 에러 메시지를 출력하세요
	// HINT: if 문을 사용해 err != nil인지 확인하세요
	
	
	// 이 줄은 에러 발생 여부와 관계없이 실행됩니다
	fmt.Println("Program completed successfully")
}

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

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

기초의 모든 레슨