Package org.mozilla.javascript
Class RhinoException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- org.mozilla.javascript.RhinoException
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
EcmaError
,EvaluatorException
,JavaScriptException
public abstract class RhinoException extends java.lang.RuntimeException
The class of exceptions thrown by the JavaScript engine.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
columnNumber()
The column number of the location of the error, or zero if unknown.java.lang.String
details()
java.lang.String
getMessage()
ScriptStackElement[]
getScriptStack()
Get the script stack of this exception as an array ofScriptStackElement
s.ScriptStackElement[]
getScriptStack(int limit, java.lang.String hideFunction)
Get the script stack of this exception as an array ofScriptStackElement
s.java.lang.String
getScriptStackTrace()
Get a string representing the script stack of this exception.java.lang.String
getScriptStackTrace(int limit, java.lang.String functionName)
Get a string representing the script stack of this exception.java.lang.String
getScriptStackTrace(java.io.FilenameFilter filter)
Deprecated.the filter argument is ignored as we are able to recognize script stack elements by our own.static StackStyle
getStackStyle()
Return the current stack style in use.void
initColumnNumber(int columnNumber)
Initialize the column number of the script statement causing the error.void
initLineNumber(int lineNumber)
Initialize the line number of the script statement causing the error.void
initLineSource(java.lang.String lineSource)
Initialize the text of the source line containing the error.void
initSourceName(java.lang.String sourceName)
Initialize the uri of the script source containing the error.int
lineNumber()
Returns the line number of the statement causing the error, or zero if not available.java.lang.String
lineSource()
The source text of the line causing the error, or null if unknown.void
printStackTrace(java.io.PrintStream s)
void
printStackTrace(java.io.PrintWriter s)
static void
setStackStyle(StackStyle style)
Specify the stack style to use from between three different formats: "Rhino" (the default), "Mozilla", and "V8." See StackStyle for information about each.java.lang.String
sourceName()
Get the uri of the script source containing the error, or null if that information is not available.static void
useMozillaStackStyle(boolean flag)
Tell subclasses ofRhinoException
whether to use the Mozilla/Firefox style of rendering script stacks (functionName()@fileName:lineNumber
) instead of Rhino's own Java-inspired format (at fileName:lineNumber (functionName)
).static boolean
usesMozillaStackStyle()
Returns true if subclasses ofRhinoException
use the Mozilla/Firefox style of rendering script stacks (functionName()@fileName:lineNumber
) instead of Rhino's own Java-inspired format (at fileName:lineNumber (functionName)
).
-
-
-
Method Detail
-
getMessage
public final java.lang.String getMessage()
- Overrides:
getMessage
in classjava.lang.Throwable
-
details
public java.lang.String details()
-
sourceName
public final java.lang.String sourceName()
Get the uri of the script source containing the error, or null if that information is not available.
-
initSourceName
public final void initSourceName(java.lang.String sourceName)
Initialize the uri of the script source containing the error.- Parameters:
sourceName
- the uri of the script source responsible for the error. It should not be null.- Throws:
java.lang.IllegalStateException
- if the method is called more then once.
-
lineNumber
public final int lineNumber()
Returns the line number of the statement causing the error, or zero if not available.
-
initLineNumber
public final void initLineNumber(int lineNumber)
Initialize the line number of the script statement causing the error.- Parameters:
lineNumber
- the line number in the script source. It should be positive number.- Throws:
java.lang.IllegalStateException
- if the method is called more then once.
-
columnNumber
public final int columnNumber()
The column number of the location of the error, or zero if unknown.
-
initColumnNumber
public final void initColumnNumber(int columnNumber)
Initialize the column number of the script statement causing the error.- Parameters:
columnNumber
- the column number in the script source. It should be positive number.- Throws:
java.lang.IllegalStateException
- if the method is called more then once.
-
lineSource
public final java.lang.String lineSource()
The source text of the line causing the error, or null if unknown.
-
initLineSource
public final void initLineSource(java.lang.String lineSource)
Initialize the text of the source line containing the error.- Parameters:
lineSource
- the text of the source line responsible for the error. It should not be null.- Throws:
java.lang.IllegalStateException
- if the method is called more then once.
-
getScriptStackTrace
public java.lang.String getScriptStackTrace()
Get a string representing the script stack of this exception. If optimization is enabled, this includes java stack elements whose source and method names suggest they have been generated by the Rhino script compiler.- Returns:
- a script stack dump
- Since:
- 1.6R6
-
getScriptStackTrace
public java.lang.String getScriptStackTrace(int limit, java.lang.String functionName)
Get a string representing the script stack of this exception. If optimization is enabled, this includes java stack elements whose source and method names suggest they have been generated by the Rhino script compiler. The optional "limit" parameter limits the number of stack frames returned. The "functionName" parameter will exclude any stack frames "below" the specified function on the stack.- Parameters:
limit
- the number of stack frames returnedfunctionName
- the name of a function on the stack -- frames below it will be ignored- Returns:
- a script stack dump
- Since:
- 1.8.0
-
getScriptStackTrace
@Deprecated public java.lang.String getScriptStackTrace(java.io.FilenameFilter filter)
Deprecated.the filter argument is ignored as we are able to recognize script stack elements by our own. Use #getScriptStackTrace() instead.Get a string representing the script stack of this exception.- Parameters:
filter
- ignored- Returns:
- a script stack dump
- Since:
- 1.6R6
-
getScriptStack
public ScriptStackElement[] getScriptStack()
Get the script stack of this exception as an array ofScriptStackElement
s. If optimization is enabled, this includes java stack elements whose source and method names suggest they have been generated by the Rhino script compiler.- Returns:
- the script stack for this exception
- Since:
- 1.7R3
-
getScriptStack
public ScriptStackElement[] getScriptStack(int limit, java.lang.String hideFunction)
Get the script stack of this exception as an array ofScriptStackElement
s. If optimization is enabled, this includes java stack elements whose source and method names suggest they have been generated by the Rhino script compiler.- Parameters:
limit
- the number of stack frames returned, or -1 for unlimitedhideFunction
- the name of a function on the stack -- frames below it will be ignored, or null- Returns:
- the script stack for this exception
- Since:
- 1.8.0
-
printStackTrace
public void printStackTrace(java.io.PrintWriter s)
- Overrides:
printStackTrace
in classjava.lang.Throwable
-
printStackTrace
public void printStackTrace(java.io.PrintStream s)
- Overrides:
printStackTrace
in classjava.lang.Throwable
-
usesMozillaStackStyle
public static boolean usesMozillaStackStyle()
Returns true if subclasses ofRhinoException
use the Mozilla/Firefox style of rendering script stacks (functionName()@fileName:lineNumber
) instead of Rhino's own Java-inspired format (at fileName:lineNumber (functionName)
).- Returns:
- true if stack is rendered in Mozilla/Firefox style
- Since:
- 1.7R3
- See Also:
ScriptStackElement
-
useMozillaStackStyle
public static void useMozillaStackStyle(boolean flag)
Tell subclasses ofRhinoException
whether to use the Mozilla/Firefox style of rendering script stacks (functionName()@fileName:lineNumber
) instead of Rhino's own Java-inspired format (at fileName:lineNumber (functionName)
). Use "setStackStyle" to select between more than just the "Mozilla" and "Rhino" formats.- Parameters:
flag
- whether to render stacks in Mozilla/Firefox style- Since:
- 1.7R3
- See Also:
ScriptStackElement
-
setStackStyle
public static void setStackStyle(StackStyle style)
Specify the stack style to use from between three different formats: "Rhino" (the default), "Mozilla", and "V8." See StackStyle for information about each.- Parameters:
style
- the style to select -- an instance of the StackStyle class- Since:
- 1.8.0
- See Also:
StackStyle
-
getStackStyle
public static StackStyle getStackStyle()
Return the current stack style in use. Return the current stack style in use.
-
-