2014-01-22 115 views
0

我想使用JEXL 2.1.1和腳本動態地執行一個函數。 該函數由我定義,並引發自定義錯誤。JEXL2.1.1腳本不會拋出異常

好像JEXL捕捉到異常,但不傳播它,只顯示它。 我真的需要知道什麼時候發生異常,因爲這是一個嚴重錯誤,我希望我的程序退出。

我試着將靜音模式設置爲false。 我understand在這種模式下,JEXL應該拋出一個JEXLException,但它不在我的情況。 我也是從JEXL網站了解到:

的JexlException被扔在「非靜音」模式,但因爲這些都是 RuntimeException的,用戶代碼應該抓住他們的地方最 適當

我檢查並且不引發RuntimeException。 JEXL只記錄錯誤和(在我的情況下)返回false(該方法返回一個布爾值)。

如何強制JEXL拋出一個錯誤(我的錯誤或JEXLException,沒關係)?

回答

0

看來我不得不設置嚴格模式了。

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

我不確定靜音模式是否真的有必要。