public class RLException
extends java.lang.Exception
Modifier and Type | Method and Description |
---|---|
java.lang.Object[] |
getArgs()
Get the message arguments for this localized exception message.
|
int |
getColumn()
Get the column number
|
java.lang.String |
getDescription()
Get the description of this exception
|
int |
getLine()
Get the line number where this exception occurred
|
java.lang.String |
getMessage()
Get the detailed message for this RLException.
|
java.lang.String |
getMsgID()
Get the message ID for this localized exception message.
|
java.lang.String |
getSource()
Get the input source of this exception
|
void |
printRLStackTrace()
Prints this RLException and an RL stack trace to System.err.
|
void |
printRLStackTrace(java.io.PrintStream ps)
Prints this RLException and an RL stack trace to specified
PrintStream . |
void |
printRLStackTrace(java.io.PrintWriter pw)
Prints this RLException and an RL stack trace to specified
PrintWriter . |
void |
setColumn(int column)
Deprecated.
|
void |
setLine(int line)
Deprecated.
|
void |
setSource(java.lang.String source)
Set the input source of this exception.
|
public java.lang.String getMessage()
getMessage
in class java.lang.Throwable
public java.lang.String getDescription()
public java.lang.String getSource()
public void setSource(java.lang.String source)
source
- the input sourcepublic int getLine()
public void setLine(int line)
line
- numberpublic int getColumn()
public void setColumn(int column)
column
- numberpublic java.lang.String getMsgID()
public java.lang.Object[] getArgs()
public void printRLStackTrace()
RLNullPointerException: object cannot be null
at line 12 in stackTraceContext /Rule(porsche)/Pattern(car)/Test[1]
It was produced by the following RL code.
ruleset stackTraceContext
{
class Car
{
String make;
String model;
}
rule porsche
{
if (fact Car car &&
car.make.startsWith("Porsche"))
{
println(car.make + " " + car.model);
}
}
assert(new Car());
}
The first line of stack trace contains some extra context after the
location message. This extra context is present for rule conditions,
rule actions, functions, variables, and RL class definitions. It is
there to assist with identifying the offending code in situations when
RL is generated from a rule dictionary.
The XPath-ish format consists of an RL construct. If the construct is named, the name appears enclosed in parentheses. If a number, n, appears in brackets after a construct it indicates the nth line following the previous construct. Careful RL generation by the Rule SDK will place each so referenced construct on a separate line.
In the example RL stack trace, this indicates that the exception occurred in the first test following the pattern car in the rule porsche.
public void printRLStackTrace(java.io.PrintStream ps)
PrintStream
.ps
- the PrintStream to print to.public void printRLStackTrace(java.io.PrintWriter pw)
PrintWriter
.pw
- the PrintWriter to print to.