こんにちは。
前任者作成のWFを参考に、指定フォルダのファイル一覧をリスト変数lis_Pathに取得後、リスト変数lis_Pathの値を1つずつString変数str_TransactionItemに取得して回すWFを作成中です。
実際のアプリ実行部はMain.xamlからTry Catchアクティビティ経由でProcess.xamlを呼び出していますが、
Main.xamlからProcess.xamlに渡す引数に、o_exec_SystemExceptionが無いことに気づきました。(添付画像)
Process.xamlで発生した例外情報は、引数として上位のMain.xamlにエスカレされて、Process.xamlを呼び出した
Try CatchアクティビティのCatch Block経由でErrorHandler.xamlに渡されるのがロジカルと思います。
Main.xamlからProcess.xamlに渡す引数に、o_exec_SystemExceptionが無いことはバグでしょうか?
現状は、Process.xamlで発生した例外情報は、変数exec_SystemExceptionで処理しています。
設計思想次第ですが、ワークフローファイル呼び出しの外側にTryCatchがいますので
呼び出し先で例外が発生した場合、そのTryCatchで例外情報は捕捉でき、それをハンドリング
することは可能かと思います。(そのため必ずしも引数としてもらう必要はないと思います。)
今一度確認をさせてください。
Process.xamlで発生した例外情報を、変数で処理しようが引数でMain.xamlに渡そうが、WFの動きはまったく同じという理解で正しいですか?
Process.xamlで発生した例外情報を、変数で処理しようが引数でMain.xamlに渡そうが、WFの動きはまったく同じという理解で正しいですか?
変数で処理というのが上記の様に直接TryCatchで捕捉するということであれば、結論としては異なります。
呼び出し先を例外で抜ける場合は、例えばその例外発生個所の後続処理は実施されませんし、Out型(あるいはIn/Out型)の引数も値が渡されることはありません。
他方、呼び出し先内部でTryCatchにより例外を捕捉し、その例外内容を例えばException型の変数に格納した上で引数として呼び出し側に返すようなとき、(当然ながら)他のOut型の引数も値が格納されて返ります。