added trace information to thrown exceptions and clean some of the docs
This commit is contained in:
1 parent
d48f78ff7b
commit
d72a617290
5 files changed
+111
-67
No files matched your search
@@ -14,26 +14,29 @@ import java.util.function.Supplier;
|
||||
public class ExpressionException extends RuntimeException implements ResolvedException
|
||||
{
|
||||
public final Context context;
|
||||
public final Tokenizer.Token token;
|
||||
public final List<FunctionValue> stack = new ArrayList<>();
|
||||
private final Supplier<String> lazyStacktrace;
|
||||
private String cachedMessage = null;
|
||||
|
||||
public ExpressionException(Context c, Expression e, String message)
|
||||
{
|
||||
this(c, e, null, message);
|
||||
this(c, e, Tokenizer.Token.NONE, message);
|
||||
}
|
||||
|
||||
public ExpressionException(Context c, Expression e, Tokenizer.Token t, String message)
|
||||
{
|
||||
super("Error");
|
||||
lazyStacktrace = () -> makeMessage(c, e, t, message);
|
||||
token = t;
|
||||
context = c;
|
||||
}
|
||||
public ExpressionException(Context c, Expression e, Tokenizer.Token t, String message, List<FunctionValue> stack)
|
||||
{
|
||||
super("Error");
|
||||
this.stack.addAll(stack);
|
||||
lazyStacktrace = () -> makeMessage(c, e, t, message);
|
||||
lazyStacktrace = () -> makeMessage(c, e, t, message);
|
||||
token = t;
|
||||
context = c;
|
||||
}
|
||||
|
||||
@@ -41,7 +44,8 @@ public class ExpressionException extends RuntimeException implements ResolvedExc
|
||||
{
|
||||
super("Error");
|
||||
this.stack.addAll(stack);
|
||||
lazyStacktrace = messageSupplier;
|
||||
lazyStacktrace = () -> makeMessage(c, e, t, messageSupplier.get());
|
||||
token = t;
|
||||
context = c;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user