[ 
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: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to