[ 
https://issues.apache.org/jira/browse/JEXL-210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15407907#comment-15407907
 ] 

Dmitri Blinov commented on JEXL-210:
------------------------------------

Well, this may not nessesery be a bug, since we have no *catch* statement in 
jexl. In some cases it's preferrable to fail, in others - to continue even in 
case of exception. Consider someone wants to call InputStream.close() which can 
raise an IOException but interrupting script execution may meaningless. 

> 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)

Reply via email to