exception.Messageの意味について

UiPath初心者です。
メッセージをログアクティビティで記述するexception.Messageの意味ですが、下記2つの側面があるのではないかと推測していますが、合っていますでしょうか?

1.Try CatchアクティビティのTry Blockに配置したスローアクティビティのプロパティで
New BusinessRuleException(“10万円以上は申請が必要です。”)
とCatch Blockにスローした場合、
メッセージをログアクティビティの中でexception.Messageは、"10万円以上は申請が必要です。"の文字列に置換される。

2.Try CatchアクティビティのTry Blockに配置したシーケンスで、データ型エラーなどのエラーが発生した場合、スローアクティビティを配置していなくても、自動的にCatch Blockにスローされ、
メッセージをログアクティビティの中でexception.Messageは、システムが自動生成した"Data type error"などの文字列に置換される。

@gorby

お疲れ様です。
はい、おっしゃる通りです。
Try Catchアクティビティは例外を捕まえます。と言えば、発生元を無視して、スローされた例外をキャッチします (システム例外またはユーザーによって作成された例外の場合)。

次に、catch ブロックでそれをどうするかを決定できます。

たとえば、ArgumentException を無視したい場合などに非常に便利です。 ArgumentException キャッチと Exception キャッチを追加できます。 その後、ArgumentException が発生しても何もせず、Exception がキャッチされたときに再スローします。
image

これにより、ArgumentException 以外の例外が発生したときにロボットの処理を停止できます。

メッセージにとして、UiPathスローされた例外は一般的な例外メッセージを使用しています。 ただし、例外をキャッチして人間が読めるメッセージを与えることをお勧めします。これにより、ユーザーや他の開発者にロボットが停止した理由がわかるからです。

よろしくお願いいたします。

ArgumentException を無視したい場合とは、具体的にどのような場合でしょうか。具体的事例を使って説明をお願いします。

@gorby
お疲れ様です。

AgumentExceptionを無視したい場合は、Catchesの部分の中に何も書かなくていいです、メッセージをログしてもいいです。
例外がキャッチされた時点で、この例外はもう無視されています。exceptionという変数にはあります。
例外がキャッチされると、ワークフローは Try Catch の Finally 部分に進み(たまにそうでないケースもあるかもしれません)、通常どおり続行します。

Hi I could not understand “ArgumentException” …
Does “ArgumentException” mean like Argument settings mistake?

Regards,
gorby

Excuse my bad japanese :sweat_smile:
ArgumentException means that one of the arguments provided to a method is not valid.
You will most likely stumble across a lot of different exceptions during your work with UiPath, but in general almost all of them are the same as dotnet exceptions. You can use the microsoft site to look for their meaning.

For the question when you want to ignore it, it might be a little bit harder. I just gave it as an example, usually you would first want to create a workflow where you check for the data input and then throw the exception. Not throw the exception and then recover it in some cases.

そっちだったですね。はい、UiPath Studioに含めている例外はdotnetの例外と変わらないです。例外の意味は探したいだと一番簡単な方法はMicrosoftのサイトです。
例えばArgumentExceptionは:

実に言えば、ただの例にとして書きました。普段的にArgumentExceptionであれば最初は条件で変数か引数をチェックしてから例外をスローします。例外をスローして、その後でキャッチして、条件を確認するは少しおかしい書き方と思います。