commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kohsuke Kawaguchi (JIRA)" <j...@apache.org>
Subject [jira] Created: (JEXL-17) ExpressionFactory.createNewExpression should throw an Exception in case of a parsing error, not Error
Date Sat, 05 Aug 2006 19:02:14 GMT
ExpressionFactory.createNewExpression should throw an Exception in case of a parsing error,
not Error
-----------------------------------------------------------------------------------------------------

                 Key: JEXL-17
                 URL: http://issues.apache.org/jira/browse/JEXL-17
             Project: Commons JEXL
          Issue Type: Improvement
    Affects Versions: Nightly Builds
            Reporter: Kohsuke Kawaguchi
         Attachments: JEXL-17.diff

When ExpressionFactory.createNewExpression(...) takes an syntactically incorrect expression,
JEXL throws TokenMgrError. However, typical callers (such as Jelly) don't expect such syntax
error to be a java.lang.Error, so it fails to catch it.

A typical outcome is therefore the thread to die completely, and even worse the stack trace
doesn't report neither what was the expression that was being parsed, nor does it report any
contextual information (again in case of Jelly, that would be where in the jelly script this
error happened.)

This makes the error diagnosis unnecessarily hard. I believe the proper thing to do is to
wrap such an exception into java.lang.Exception or its sub-class, allowing the caller to catch
it.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message