복구 가능한 에러

Result 에러 전파 흐름

Result<T, E>는 성공 값과 실패 이유를 함께 표현해 호출자가 복구 방법을 선택하게 합니다.

처리 위치 현재 함수가 복구 방법을 알고 있으면 match로 처리하고, 호출자에게 맡겨야 하면 ?로 에러를 전파합니다.

unwrap과 expect는 실패 시 panic하므로 예제나 확신 있는 조건에서만 사용하고, expect에는 실패 맥락을 적습니다.

Ok(T)

작업이 성공했을 때 실제 값을 담아 다음 계산으로 보냅니다.

Err(E)

파일 없음, 권한 부족처럼 실패 이유를 값으로 전달합니다.

match

에러 종류별로 복구 경로를 세밀하게 나눕니다.

?

Err이면 즉시 반환하고 Ok이면 내부 값을 꺼내 코드를 짧게 만듭니다.

파일 열기 오류 처리

숏컷의 의미
1
시도

File::open처럼 실패 가능한 함수를 호출합니다.

2
분기

NotFound와 다른 에러를 구분해 필요한 복구를 합니다.

3
전파

복구 책임이 바깥에 있으면 Result 반환 타입과 ?를 사용합니다.

Result는 예외 대신 실패를 타입에 넣어 정상 경로와 복구 경로를 같은 코드에서 읽게 합니다.