A little more background on this issue, which is more of a change request than a Velocity bug.
This use case is:
A Click control is added to the Velocity context and merged with the template. The application control code has a bug in it and throws a NullPointerException when its toString() method is called by Velocity. Velocity catches this exception and logs the exception, and stops rendering.
This can make the error difficult to find, as the application has no visibility of the RuntimeException it caused. The preferred behaviour is for RuntimeExceptions to be rethrown by Velocity.
regards Malcolm Edgar