Result<T, E>
Result 에러 처리
panic!은 프로그램을 멈추지만 Result는
성공과 실패를 값으로 표현해 호출자가 복구 전략을 고를 수 있게 한다.
분기 단서
Ok(T)는 사용할 값, Err(E)는 실패 정보를
담는다.
| Call |
File::open파일이 있거나 없을 수 있고 권한 문제가 날 수도 있는 작업을
시도한다.
|
|---|---|
| Ok |
파일 핸들 사용Ok(file)이면 값을 꺼내 읽기나 쓰기 작업을
계속한다.
|
| NotFound |
복구 가능파일이 없으면 File::create로 새 파일을 만들 수
있다.
|
| 권한 부족 | 다른 정책 필요사용자에게 권한 문제를 알리거나 다른 경로를 요청한다. |
| expect | 가정 명시 패닉복구하지 않을 상황에서는 실패 메시지에 의도를 담아 빠르게 중단한다. |
복구 원칙
모든 실패를 같은 패닉으로 처리하면 만들 수 있는 복구 경로를 잃는다.
원인을 좁혀서 대응 여부를 결정한다.