Rust の Result を良い感じにまとめるには
…というのを検索する用語が “エラーハンドリング(error handling)” だということに気付くまでにも時間がかかるくらいの初級者です。
Rust でのエラーハンドリングについては歴史的変遷があるようで、ググると結局今はどうやったらええねん、という新たな疑問が湧いてきます。
取り敢えず 2021/10 現在は、 anyhow(+ 自分でエラー定義する場合は thiserror) を利用するのが良さそうです。 この辺りは README に書きました。
src/bin/gear07.rs
|
|
それ以外、外部クレートを利用しない方式としては、
-
The Rust Programming Language > 9.2. Recoverable Errors with Result (※ 日本語版にはまだ反映されていないようです)
にあるような Box 化して取り扱う方式があるようです。
src/bin/rust-book.rs
|
|
あるいは別の方法として 自前のエラー型でラップする(18.4.5. エラーをラップする, 原文)方法も解説がありました(src/bin/gear03.rs)。