エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rustのcatch_unwindでスタックトレースを取得する - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rustのcatch_unwindでスタックトレースを取得する - Qiita
Rustにはcatch_unwindという関数がありpanicをキャッチすることが出来ます。 Rustのパニック機構 - 簡潔... Rustにはcatch_unwindという関数がありpanicをキャッチすることが出来ます。 Rustのパニック機構 - 簡潔なQ しかしここから得られるエラー情報がかなり少ないです。キャッチして得られるResultのError型はBox<dyn Any>みたいな型ですが、これがほとんどStringまたは&strとなっており(今の所他の型を見ていませんが詳しい方教えて下さい)、確認した所スタックトレース情報やパニックが発生したソースの位置情報は入っていませんでした。例えば以下のコードはpanic testと出力します。 if let Err(e) = panic::catch_unwind(move || { panic!("panic test"); }) { println!("{}", any_to_string(&*e)); } fn any_to_string(any: &dyn