You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by "Vojtech Knyttl (JIRA)" <ji...@apache.org> on 2017/04/07 10:08:41 UTC
[jira] [Commented] (FREEMARKER-48) When custom fremarker method
throws exception, it is impossible to find line/row where called
[ https://issues.apache.org/jira/browse/FREEMARKER-48?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15960576#comment-15960576 ]
Vojtech Knyttl commented on FREEMARKER-48:
------------------------------------------
This also happens when division by zero in the form. You have basically no chance of debugging:
```
java.lang.IllegalStateException: Error while freemarker rendering:Ticketing/Reporting/SalesAverage.ftl : / by zero : class java.lang.ArithmeticException
org.maite.mvc.FreemarkerService.render(FreemarkerService.java:64)
org.maite.mvc.FreemarkerService.render(FreemarkerService.java:48)
org.maite.mvc.FreemarkerService$$FastClassBySpringCGLIB$$c133ab89.invoke(<generated>)
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:629)
org.maite.mvc.FreemarkerService$$EnhancerBySpringCGLIB$$37aa939f.render(<generated>)
```
> When custom fremarker method throws exception, it is impossible to find line/row where called
> ---------------------------------------------------------------------------------------------
>
> Key: FREEMARKER-48
> URL: https://issues.apache.org/jira/browse/FREEMARKER-48
> Project: Apache Freemarker
> Issue Type: Bug
> Components: engine
> Affects Versions: 2.3.25-incubating
> Environment: Any
> Reporter: Vojtech Knyttl
>
> Consider this stacktrace:
> https://gist.github.com/knyttl/dba8f94b9736eb2751074c34dce7b467
> On line `DispatcherServlet.renderView(DispatcherServlet.java:308)` I have started freemarker to render a template. During that process it uses custom method (`HrefMethod.exec(HrefMethod.java:28)`), but this method threw an exception. However Freemarker does not report a line/row of the template where this method was called making it very hard for debug.
> I would be happy if `freemarker.core.MethodCall._eval(MethodCall.java:65)` had some try-catch blcok, that in case of an exception would add lines/rows/details of the element that caused the exception.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)