Rust

에러 처리

Result<T, E>, Option<T>, unwrap, expect, ?, 커스텀 에러, 에러 전파

18 면접 질문·
Junior
1

값이 있을 수도 없을 수도 있음을 나타내는 Rust 타입은 무엇입니까?

답변

Option<T>는 값을 담은 Some(T)이거나 값의 부재를 나타내는 None 중 하나가 될 수 있는 enum입니다. 이 타입은 다른 언어에 존재하는 null 값을 대체하며, 값이 없는 경우를 명시적으로 처리하도록 개발자에게 강제하여 런타임에서의 null 포인터 에러를 방지합니다.

2

성공하거나 에러로 실패할 수 있는 작업을 나타내는 Rust 타입은 무엇입니까?

답변

Result<T, E>는 두 개의 변형을 가진 enum입니다. 성공 시 반환 값을 담는 Ok(T)와 실패 시 에러를 담는 Err(E)입니다. 이 타입은 예외를 사용하는 대신 명시적인 에러 처리를 강제하므로 코드가 더 예측 가능해지고 에러가 더 잘 드러납니다.

3

unwrap() 메서드는 Option<T>에 대해 무엇을 합니까?

답변

unwrap()은 값이 존재하면 Some(T)에 담긴 값을 반환합니다. Option이 None이면 프로그램이 패닉(panic!)을 일으키고 즉시 중단됩니다. 이 메서드는 프로토타이핑에는 편리하지만 None 케이스를 우아하게 처리하지 못하므로 프로덕션에서는 피해야 합니다.

4

unwrap()과 expect()의 차이점은 무엇입니까?

5

Result<T, E>를 반환하는 함수에서 ? 연산자는 무엇을 합니까?

+15 면접 질문

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

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

무료로 시작하기