diff options
author | Claude Brisson <cbrisson@apache.org> | 2019-09-08 10:42:47 +0000 |
---|---|---|
committer | Claude Brisson <cbrisson@apache.org> | 2019-09-08 10:42:47 +0000 |
commit | 5782c4cfa7beab546f778d51d5af2c3503e76aec (patch) | |
tree | 5bd4ca076135fa41f3d8be47c15cba1f323d3312 /velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java | |
parent | acf40deb4da66c5852b16244f3d818e46ed2b7c2 (diff) | |
download | apache-velocity-engine-5782c4cfa7beab546f778d51d5af2c3503e76aec.tar.gz |
[VELOCITY-916] Add a second effect for the debugging flag runtime.log.track_location: display VTL stacktrace on errors
git-svn-id: https://svn.apache.org/repos/asf/velocity/engine/trunk@1866609 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java')
-rw-r--r-- | velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java b/velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java index dc5037c1..c261ba6e 100644 --- a/velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java +++ b/velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java @@ -87,6 +87,8 @@ public class Evaluate extends Directive { throw new TemplateInitException( "#" + getName() + "() requires exactly one argument", + null, + rsvc.getLogContext().getStackTrace(), context.getCurrentTemplateName(), node.getColumn(), node.getLine()); @@ -99,6 +101,8 @@ public class Evaluate extends Directive throw new TemplateInitException( "#" + getName() + "() requires exactly one argument", + null, + rsvc.getLogContext().getStackTrace(), context.getCurrentTemplateName(), node.jjtGetChild(1).getColumn(), node.jjtGetChild(1).getLine()); @@ -110,6 +114,8 @@ public class Evaluate extends Directive { throw new TemplateInitException( "#" + getName() + "() argument must be a string literal or reference", + null, + rsvc.getLogContext().getStackTrace(), context.getCurrentTemplateName(), childNode.getColumn(), childNode.getLine()); @@ -169,7 +175,7 @@ public class Evaluate extends Directive { // use the line/column from the template Info info = new Info( templateName, node.getLine(), node.getColumn() ); - throw new ParseErrorException( pex.getMessage(), info ); + throw new ParseErrorException( pex.getMessage(), info, rsvc.getLogContext().getStackTrace() ); } /* @@ -190,7 +196,7 @@ public class Evaluate extends Directive catch (TemplateInitException pex) { Info info = new Info( templateName, node.getLine(), node.getColumn() ); - throw new ParseErrorException( pex.getMessage(), info ); + throw new ParseErrorException( pex.getMessage(), info, rsvc.getLogContext().getStackTrace() ); } try @@ -213,7 +219,7 @@ public class Evaluate extends Directive { // convert any parsing errors to the correct line/col Info info = new Info( templateName, node.getLine(), node.getColumn() ); - throw new ParseErrorException( pex.getMessage(), info ); + throw new ParseErrorException( pex.getMessage(), info, rsvc.getLogContext().getStackTrace() ); } } finally |