エラーのログ表示方法

こんにちは

エラーが発生したときにそのログを全てテキストとして出力したいのですが
取得対象にしているexception.InnerExceptionの中身がnullになってしまい、
tostringで変換できずエラーとなってしまいます。
なにか良い方法はあるでしょうか?

1 Like

@basashi5

エラーの時、exception.Messageでエラーのメッセージ取得できますので、お試しください。

image

2 Likes

コメントありがとうございます。

提示頂いたexception.messageの取得はしているのですが、
エラー内容の取得方法としては他にも存在するため、
それらの情報も全て取得したいと考えています。

そちらを全てテキストに書き出す方法はないでしょうか?

1 Like

@basashi5

こんにちは!

過去の投稿で全ての取得に対するものではないですが、ご参考まで。

2 Likes

こんにちは。おそらくすべての情報を一括で出力するプロパティはないので、様々なプロパティを組み合わせていく必要があると思います。

  • exception.Message
    • 例外に含まれるメッセージ(説明文)
  • exception.Source
    • 例外が発生したアクティビティの種類、またはアクティビティのDisplayName(Invoke Workflow Fileで呼び出した先のシナリオで発生した例外をキャッチした場合
  • exception.StackTrace
    • 例外のスタックトレース
3 Likes

Jun1さん、cheez_RPAさん
お返事ありがとうございます。

cheez_RPAさんのおっしゃるような例外の情報を表示するプロパティを組み合わせてテキストに出力しており、その中でexception.InnerExceptionをstringに変換しようとするとnullでエラーとなってしまっている状態です。

対処法があればご教示頂きたく思います。

1 Like

InnerExceptionが値を持つのは、AggregateExceptionのみではないでしょうか?

1 Like

返信が遅くなりすみません。

InnerExceptionが値を持つのは、AggregateExceptionのみではないでしょうか?
そうだったんですね、知りませんでした((+_+))

今回の案件の実装にあたってはInnerExcepionは外しても良いのですが
開発スキル的な意味でnullの場合でもstringに変換できるような方法をご教示頂けたらと思います。

1 Like

多少強引ですが、if演算子を使えば次のようなことが可能です。
“aaa” & if(str is nothing,"",str.ToString) & “bbb”
strの中身がnothingの時はブランクが返されますので結果は
aaabbb
となります。
※ずれていたらすいません。。

2 Likes

上記ですが、IsNothing(object)で、objectがnullであるかどうかをBoolean型で返します。
ですので、こちらを利用してIf分岐させ、nullではない(⇒InnerExceptionが値を含む)場合の処理を実装すればよいかと思われます。

2 Likes

お二人ともご回答ありがとうございます。
提案頂いた方法で実装してみます。m(__)m

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.