RUST · ERROR
? 연산자의 조기 반환 흐름
?는 Result를 자동으로 풀어 Ok면 값을 계속 사용하고, Err면 현재 함수의 에러 타입으로 변환해 즉시 반환합니다.
Result 분기
?
Result<T, E>
작업 결과가 성공 값 또는 에러 값으로 도착합니다.
Ok(value)
값을 꺼내 다음 표현식으로 계속 진행합니다.
Err(error)
현재 줄에서 나머지 처리를 멈춥니다.
From::from
필요하면 함수 반환 에러 타입으로 변환합니다.
return Err
호출자에게 에러를 그대로 전파합니다.
호출
→
Ok면 계속
→
Err면 변환
→
조기 반환
읽는 법
mental
성공 경로
들여쓰기 없이 정상 흐름만 위에서 아래로 읽습니다.
실패 경로
?가 붙은 지점이 호출자에게 돌아가는 출구입니다.
타입 변환
From 구현이 있으면 서로 다른 에러 타입도 연결됩니다.
사용 조건
현재 함수도 Result나 호환 반환 타입이어야 합니다.