aboutsummaryrefslogtreecommitdiff
path: root/velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java
diff options
context:
space:
mode:
authorClaude Brisson <cbrisson@apache.org>2019-09-08 10:42:47 +0000
committerClaude Brisson <cbrisson@apache.org>2019-09-08 10:42:47 +0000
commit5782c4cfa7beab546f778d51d5af2c3503e76aec (patch)
tree5bd4ca076135fa41f3d8be47c15cba1f323d3312 /velocity-engine-core/src/main/java/org/apache/velocity/runtime/directive/Evaluate.java
parentacf40deb4da66c5852b16244f3d818e46ed2b7c2 (diff)
downloadapache-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.java12
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