JSL で意図的にエラーを発生させるこれを行う方法をフォーラムとスクリプトインデックスで検索しましたが、私がやろうとしていることを達成するものは何も見つかりませんでした。Pythonの「Raise」関数と同様の機能を持つものを探しています。または、Try Throw ステートメントと本質的に同じ機能ですが、JSL 例外は発生しません。
たとえば、ユーザーに文字列形式で日付を入力するように要求する関数を作成しています。エラーを防ぐために、関数で使用する前に入力をチェックしたいと思います。
Example Function = Function({start_date,end_date},
chk1 = Is String(start_date);
If(chk1 == 0, //Raise some error here);
);Show("Error message") と Break() シーケンスを使用して必要なことを達成できると思いますが、このタスクを達成するためのネイティブ JSL メソッドがあるかどうか疑問に思っています。
Re: JSL で意図的にエラーを発生させるThrow を使用してエラーをスローできます。ユーザー入力エラーをキャプチャするコンテキストでは、OnValidate メッセージを含むモーダル ウィンドウを使用できます。
NewWindow("Demo", <<MODAL></MODAL>
Re: JSL で意図的にエラーを発生させるモーダル ウィンドウを組み合わせて使用してユーザーにエラー メッセージを表示し、実行を終了するには throw を使用します。
Example Date Check = Function({start_date,end_date},
chk1 = Is String(start_date);
If (!chk1 == 0,
emsg = "Invalid start date [" || char(start_date) || "]";
ew = new window("Invalid date", << modal(),
text box(emsg),
);
throw(emsg);
);
chk2 = Is String(end_date);
If (!chk2 == 0,
emsg = "Invalid end date [" || char(end_date) || "]";
ew = new window("Invalid date", << modal(),
text box(emsg),
);
throw(emsg);
);
);
example date check(today(), today());
example date check("31-Feb-2018", today());Re: JSL で意図的にエラーを発生させる使用できます投げる()試してみることなく。 PythonのRaise()に似ていると思います。
//:*/
show("Here");
throw("This didn't work");
show("Here 2");
/*:
"Here";
This didn't work
Re: JSL で意図的にエラーを発生させるTry() 関数を使用して、その結果を確認します。