小さいプログラムをRustで書き始めていて、最も困るのはエラー処理であった。
調べた結果、これを使えってなっていたのがanyhow。
使い方は
- 戻り値に
anyhow::Result<T>
を使う - エラーは
return Err(anyhow::anyhow!())
で返す
以上。簡単でありがたい。
unrwap()/expect()
等で済ませたり、
いわゆる early return が好きなのだが、どうにもネストが深くなったり、
ということが少なくなってきたような気がする。
ここから、エラー種類ごとに処理分けしたい とかなったら thiserror を使っていくことになるのかな