[Try/Catch]と[繰り返しをコンティニュー]の使い方ご指南おねがいします

こんにちは
[Try/Catch] および [繰り返しをコンティニュー]について教えてください

・Excelファイルのデータを画面に入力する処理を作成しています
・画面は2部構成になっていて
1画面目に顧客や日付情報、2画面目に明細情報を投入します
・データは以下のような形で
顧客コード 備考 日付 明細データ 数量 金額
AAA あいう 2023/1/1 区分1 2 100
AAA あいう 2023/1/1 区分2 1 200
AAA あいう 2023/1/1 区分3 5 1000
BBB かきく 2023/1/5 区分1 3 800
BBB かきく 2023/1/5 区分3 4 1500

・顧客コード・備考・日付 を画面1に投入後 画面が遷移し、
画面2に明細データ・数量・金額を投入します
明細データが入力し終わったら画面2で”保存”すると
画面1へ戻ります

日付が投入範囲にない日付の場合(非営業日)は
画面側が受け付けてくれないのでスキップして
次のレコードへ行きたいのですが、うまく組めません

データ例でいうと1~3行目は非営業日なので飛ばして、
4行目から入力を再開させたいのです。

画面1のエラー発生時にエラーメッセージが出たら
Businessエラーをスローして
BusinessErrorExceptionブロックへ遷移させて、
[繰り返しをコンティニュー]をしていますが、
画面1の入力の最初に戻らずに処理が終わってしまいます。

Try/Catchを入れる場所がわるいのかな、と思いますが、
どのように組んだらコンティニューが活きるようになりますでしょうか?
ご助言いただけますと幸いです

Hi @111790

After throwing a business exception, add an activity to go back to the screen.
For the next transaction, screen 1 will be there.

1 Like

ありがとうございます

画面1に戻る処理は
後続のFinallyブロックに記載しているのですが、
Finallyのあと、画面1の入力の最初に戻らずに、
後続の処理へ抜けてしまいます

@111790
Then it should go to screen1 after finally.Could you debug the process and see what happens during finally.Take a closer look.

1 Like

そうですよね
もう一度デバッグしてみます
ありがとうございます

こんにちは

どうもCatchブロック内のContinueはうまく動作しないようです。下記でもワークアラウンドを記載していますが、一旦フラグ変数を用意しておいてCatchブロックでTrueにしておき、TryCatchを抜けた後に条件分岐でContinueを実行してみてはと思います。

1 Like

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