[
https://issues.apache.org/jira/browse/VELOCITY-656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12656027#action_12656027
]
Nathan Bubna commented on VELOCITY-656:
---------------------------------------
Yeah, i think we should allow/expect toString() might return null, at least for
1.x. For 2.0, i've been musing about watching for a getAsString() when going
to render/eval/whatever something. Then we can again expect toString() to
never return null, and ask those objects who want special treatment to
implement getAsString()
> Wrap ref evaluate exception so vm location is revealed
> ------------------------------------------------------
>
> Key: VELOCITY-656
> URL: https://issues.apache.org/jira/browse/VELOCITY-656
> Project: Velocity
> Issue Type: Improvement
> Affects Versions: 1.6, 1.6.1, 1.7
> Reporter: Byron Foster
> Fix For: 1.7
>
> Attachments: 656.patch
>
>
> The following VTL calls the toString() method on the object in $foo:
> #if($foo)#end
> If the toString() method throws an exception, the exception is thrown all the
> way out of velocity without any indication of where the vtl reference
> occurred. This patch wraps the exception with a VelocityException with a
> message that indicates the location of the offending reference.
> However, I wonder why toString() is called at all... the code tests for
> toString() == null and returns false if so, and true otherwise in the above
> example vtl. Why is this test necessary, and why isn't just a non-null
> object enough for testing?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]