Result를 이용한 구조화된 오류처리
다음은 표현식 언어의 매우 간단한 파서를 구현합니다. 그러나 패닉을 통해 오류를 처리합니다. 대신 관용적인 오류 처리를 사용하고 오류를 main
의 반환으로 전파하도록 다시 작성합니다. thiserror
및 anyhow
를 얼마든지 사용하세요.
힌트: 먼저 parse
함수에서 오류 처리를 수정하세요. 제대로 작동하면 Iterator<Item=Result<Token, TokenizerError>>
를 구현하도록 Tokenizer
를 업데이트하고 파서에서 처리합니다.