bsh
Class EvalError

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--bsh.EvalError
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ClassPathException, ParseException, TargetError

public class EvalError
extends java.lang.Exception

EvalError indicates that we cannot continue evaluating the script or the script has thrown an exception. EvalError may be thrown for a script syntax error, an evaluation error such as referring to an undefined variable, an internal error. If the script has thrown an exception the exception will be wrapped in a TargetError.

See Also:
TargetError, Serialized Form

Field Summary
 java.util.List arguments
           
 java.lang.String className
           
 int endColumn
           
 int endLine
           
(package private)  java.lang.String message
           
 java.lang.String methodName
           
(package private)  SimpleNode node
          Note: we could make this a vector and hold the full stack trace of method invocations that lead to the exception...
 int startColumn
           
 int startLine
           
 java.lang.String tokenName
           
 java.lang.String warnUserMessage
           
 
Fields inherited from class java.lang.Exception
 
Fields inherited from class java.lang.Throwable
 
Constructor Summary
EvalError(java.lang.String s)
           
EvalError(java.lang.String s, SimpleNode node)
           
 
Method Summary
protected  void addNode(SimpleNode addNode)
           
 int getErrorLineNumber()
           
 java.lang.String getErrorSourceFile()
           
 java.lang.String getErrorText()
           
 java.lang.String getMessage()
           
(package private)  SimpleNode getNode()
          The error has trace info associated with it.
protected  void prependMessage(java.lang.String s)
          Prepend the message if it is non-null.
 void reThrow(SimpleNode node)
          Re-throw the eval error, specifying the node.
 void reThrow(java.lang.String msg)
          Re-throw the eval error, prepending msg to the message.
 void reThrow(java.lang.String addMsg, SimpleNode addNode)
          Re-throw the eval error, prefixing msg to the message and specifying the node.
 void setMessage(java.lang.String s)
           
(package private)  void setNode(SimpleNode node)
          Set the AST node for trace info.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

startLine

public int startLine

endLine

public int endLine

startColumn

public int startColumn

endColumn

public int endColumn

tokenName

public java.lang.String tokenName

className

public java.lang.String className

methodName

public java.lang.String methodName

arguments

public java.util.List arguments

warnUserMessage

public java.lang.String warnUserMessage

node

SimpleNode node
Note: we could make this a vector and hold the full stack trace of method invocations that lead to the exception...


message

java.lang.String message
Constructor Detail

EvalError

public EvalError(java.lang.String s)

EvalError

public EvalError(java.lang.String s,
                 SimpleNode node)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Throwable

reThrow

public void reThrow(java.lang.String msg)
             throws EvalError
Re-throw the eval error, prepending msg to the message.

EvalError

reThrow

public void reThrow(SimpleNode node)
             throws EvalError
Re-throw the eval error, specifying the node. If a node already exists the argument node is ignored.

EvalError
See Also:
setNode( bsh.SimpleNode )

reThrow

public void reThrow(java.lang.String addMsg,
                    SimpleNode addNode)
             throws EvalError
Re-throw the eval error, prefixing msg to the message and specifying the node. If a node already exists the addNode is ignored.

EvalError
See Also:


setNode

void setNode(SimpleNode node)
Set the AST node for trace info.

See Also:
This is useful for the interpreter if it detects that there is no trace info and wants to supply the Line() AST before printing.

getNode

SimpleNode getNode()
The error has trace info associated with it. i.e. It has an AST node that can print its location and source text.


getErrorText

public java.lang.String getErrorText()

getErrorLineNumber

public int getErrorLineNumber()

getErrorSourceFile

public java.lang.String getErrorSourceFile()

getMessage

public java.lang.String getMessage()
Overrides:
getMessage in class java.lang.Throwable

setMessage

public void setMessage(java.lang.String s)

prependMessage

protected void prependMessage(java.lang.String s)
Prepend the message if it is non-null.


addNode

protected void addNode(SimpleNode addNode)