parse 메서드는 Result를 반환하므로 Debug({:?})로 다시 전환하는 것이다. 콘솔에 결과를 출력하는 대신 에러 처리를 추가하고 시작 값을 할당한다.
코드 4-21 값을 usize 타입으로 파싱하되 실패하면 에러 반환하기
...
async fn get_questions(
params: HashMap<String, String>,
store: Store,
) -> Result<impl warp::Reply, warp::Rejection> {
let mut start = 0;
if let Some(n) = params.get("start") {
start = n.parse::<usize>().expect("Could not parse start");
}
println!("{}", start);
...
}
...