Result<T, E>

Result 책임 이동 지도

실패 값은 현재 함수에서 처리될 수도 있고, 문맥을 붙여 패닉할 수도 있으며, 호출자에게 그대로 넘어갈 수도 있습니다.

현재 함수에서 처리

match

OkErr를 직접 나누어 파일 생성, 기본값, 재시도 같은 복구 경로를 작성합니다.

가정 실패를 드러냄

expect

성공해야 하는 이유가 분명할 때 패닉 메시지에 그 가정을 남겨 디버깅 단서를 제공합니다.

호출자에게 전파

?

Err을 즉시 반환하고, 필요하면 From을 통해 현재 함수의 에러 타입으로 변환합니다.

call 실패 가능한 작업

File::open, 읽기, 파싱처럼 Result를 반환합니다.

branch 처리 책임 선택

복구, 패닉, 전파 중 함수의 역할에 맞는 길을 고릅니다.

return 성공 값 또는 에러

성공하면 값이 계속 흐르고, 실패하면 현재 정책에 맞게 흐름이 끝납니다.