Go

에러 처리

Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover

20 면접 질문·
Junior
1

Go에서 에러를 표현하는 데 사용되는 인터페이스는 무엇입니까?

답변

error 인터페이스는 Go에서 에러 상태를 표현하기 위한 사전 정의된 인터페이스입니다. 에러를 설명하는 문자열을 반환하는 Error() 메서드 하나만 포함합니다. nil 값은 에러가 없음을 나타냅니다. 이는 표준 라이브러리의 모든 패키지와 Go 개발자가 에러를 알리고 전파하기 위해 사용하는 관례적인 인터페이스입니다.

2

Go에서 정적 메시지를 가진 간단한 에러를 어떻게 생성합니까?

답변

errors 패키지의 errors.New() 함수는 정적 메시지를 가진 간단한 에러를 생성합니다. 제공된 메시지로 error 인터페이스를 구현하는 error 타입을 반환합니다. 이 방식은 sentinel 에러(os.ErrNotExist 같은 사전 정의된 에러)나 동적 컨텍스트가 없는 간단한 에러를 생성하는 데 권장됩니다. 동적 메시지에는 fmt.Errorf()를 사용하세요.

3

동적으로 포맷된 메시지를 가진 에러를 생성할 수 있는 함수는 무엇입니까?

답변

fmt.Errorf() 함수는 포맷 동사(%s, %d, %v 등)를 사용하여 동적으로 포맷된 메시지를 가진 에러를 생성합니다. 또한 기존 에러를 래핑하기 위한 특수 동사 %w를 지원하여 나중에 검사할 수 있도록 에러 체인을 보존합니다. 이는 원래 에러를 유지하면서 에러에 컨텍스트를 추가하는 권장 방법입니다.

4

fmt.Errorf()로 에러를 래핑할 수 있는 포맷 동사는 무엇입니까?

5

래핑된 에러가 특정 에러와 일치하는지 확인하는 함수는 무엇입니까?

+17 면접 질문

다음 면접을 위해 Go을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기