[ https://issues.apache.org/jira/browse/JEXL-210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15408043#comment-15408043 ]
Dmitri Blinov commented on JEXL-210: ------------------------------------ Is there any way to preserve inital exception message, for example I have implemented method raise() as follows {code} public void raise(String message) throws Exception { throw new Exception(message); } {code} but the script like this {code}raise("Error"){code} returns exception with the message {quote} org.apache.commons.jexl3.JexlException: EvaluationContext.evalScript@1:6 raise {quote} > The way to cancel script execution with an error > ------------------------------------------------ > > Key: JEXL-210 > URL: https://issues.apache.org/jira/browse/JEXL-210 > Project: Commons JEXL > Issue Type: New Feature > Affects Versions: 3.0 > Reporter: Dmitri Blinov > Assignee: Henri Biestro > Priority: Minor > Fix For: 3.0.1 > > > I don't see a way now to cancel script execution with some kind of error. > Unfortunately it's not possible to just throw an exception from some method > as this will rely on current settings of context/engine *strictness* and > *verboseness*. Using InterruptedException for this purpose is not an option > because I think it has special meaning of cancelling the current thread > execution. Yet the task I beleive is quite common - to inform the executing > environment that the script has encountered some unavoidable situation and > can not continue. Just like *return* statement but returning not a value but > an error. > For this purpose we can simply introduce some new type of exception, for > example > {code} > public static class Error extends JexlException { > ... > {code} > and by throwing it from any method the JexlEngine will terminate the current > script execution regardless of strictness/verboseness. May be this task even > deserves to have a special operator, for example > {code} > raise 'Something has happended'; > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)