Rust製アプリのための、簡単にResult型をunwrapし、エラーであればダイアログでそれを伝えるためのクレートです。
そんな規模が大きくないのでcrates.ioには公開していませんが、要望があればそうします。
まず最初にAnyHowの.contextメソッドでエラーダイアログの説明を設定します。
そのあと、トレイトErrorDialogUnwrapperをインポートし、unwrap_or_dialogを使います。
使うトレイトはpreludeモジュールにあるもので全て揃います。(これは追加でanyhowのbailといったマクロもインポートします。)
use dialog_unwrapper::prelude::*;
fn calculate() -> Result<usize> {
unimplemented!();
}
fn main() {
println!(
"{}",
calculate()
.context("とあるプロセスが異常終了しました。")
.unwrap_or_dialog();
)
}