0

JEXL 2.1.1 とスクリプトを使用して関数を動的に実行しようとしています。関数は私が定義したもので、カスタム エラーをスローします。

JEXL は例外をキャッチするようですが、伝播はせず、表示するだけです。これは重大なエラーであり、プログラムを終了させたいため、いつ例外が発生したかを知る必要があります。

サイレントモードを false に設定してみました。このモードでは、JEXL が JEXLException をスローする必要があることは理解していますが、私の場合はそうではありませんまた、JEXL Web サイトから次のことも理解しています。

JexlException は「非サイレント」モードでスローされますが、これらは RuntimeException であるため、ユーザー コードは最も適切な場所でそれらをキャッチする必要があります。

確認したところ、RuntimeException はスローされませんでした。JEXL はエラーのみをログに記録し、(私の場合) false を返します (メソッドはブール値を返します)。

JEXL にエラーをスローさせるにはどうすればよいですか (私のエラーか JEXLException かは関係ありません)。

4

1 に答える 1

0

厳密モードも設定する必要があったようです。

JexlEngine jexl = new JexlEngine();
jexl.setSilent(false);
jexl.setStrict(true);

サイレントモードが本当に必要かどうかはわかりません。

于 2014-01-22T14:50:07.113 に答える