RhinoException (Rhino)
Date: 2015-04-27

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

    Methods
    Modifier and Type | Method and 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 of `ScriptStackElement`s.
    `ScriptStackElement[]` | `getScriptStack(int limit, java.lang.String hideFunction)` Get the script stack of this exception as an array of `ScriptStackElement`s.
    `java.lang.String` | `getScriptStackTrace()` 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. Use #getScriptStackTrace() instead.
    `java.lang.String` | `getScriptStackTrace(int limit, java.lang.String functionName)` Get a string representing the script stack of this exception.
    `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 of `RhinoException` 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 of `RhinoException` use the Mozilla/Firefox style of rendering script stacks (`functionName()@fileName:lineNumber`) instead of Rhino's own Java-inspired format (`at fileName:lineNumber (functionName)`).

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, setStackTrace, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### getMessage

          public final java.lang.String getMessage()

      Overrides:
        `getMessage` in class `java.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 returned
        `functionName` - 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 of `ScriptStackElement`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 of `ScriptStackElement`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 unlimited
        `hideFunction` - 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 class `java.lang.Throwable`

    - #### printStackTrace

          public void printStackTrace(java.io.PrintStream s)

      Overrides:
        `printStackTrace` in class `java.lang.Throwable`

    - #### usesMozillaStackStyle

          public static boolean usesMozillaStackStyle()

      Returns true if subclasses of `RhinoException` 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 of `RhinoException` 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.