Nullかどうかを判別するとエラーが出る

exception型の変数がnullかどうかを条件とする条件分岐のアクティビティがエラーで動きません。ログにはObject reference not set to an instance of an object.と出ます。条件式で使う変数がnullであるとエラーが起きるのでしょうか?ご教授願います。

こんにちは

どのような式をお使いでしょうか?VBでexception型の変数をexとすると

ex is Nothing

になるかと思いますので、お試しください。

それと同じ式を条件分岐に使ってエラーが起こりました

こんにちは

Studioのデバッグモード実行でしょうか?もしそうならエラーの出ている画面のスクリーンショット共有できますでしょうか?


デバッグ時にエラーが起きた画面です

こんにちは

これは条件分岐でエラーが出ているのではなく、Try内で発生した例外を、Studioのデバッグが捕捉しているのではないかと思います。
とりあえずリボンメニューの継続ボタンで継続してみてください。
また必要に応じてリボンメニューの「アクティビティをログ」をONにしておくとどのアクティビティまで実行されたかが、ログでわかります。

processexception is nothing がtrueでない場合はエラーは起きず条件分岐の部分が処理されるのですがそれでもprocessexception is nothingの条件式が原因ではないのでしょうか?

こんにちは

スクリーンショットの上の方がどのようになっているかわかりませんが、
まずはどのアクティビティで例外が発生しているかを特定する必要があるかと思います。

各アクティビティのタイトルがデフォルトかと思いますので、そちらを少し変更して
ワークフロー内でユニークにいただいた上で実行→ログ上でどのアクティビティで
例外が発生しているかを特定してみてはと思います。

度々すみません

あるいはElseIfアクティビティの不具合の可能性もあるかもなので、通常のIfでどうなるか確認してみても良いかもしれません。

ご指摘のようにifactivityかelseifactivityの別がエラーの原因ではないようです
原因は2番目の条件文でexception型の変数、ProcessExceptionの型を参照して値がnullなのが例外となているようで
ProcessException.GetType.Name = “BusinessRuleException” が問題のようです
これと同じことをエラーが出ないようにやるにはどうしたらいいでしょうか?

こんにちは

全体の流れがどのようになっているかわかりませんが、局所的に修正するなら、条件分岐で

ex isnot Nothing

のときだけ上記の式を実行するか、現在の条件分岐を

ex isnot Nothing AndAlso ProcessException.GetType.Name = “BusinessRuleException

のような条件式にします。