[ 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