org.apache.commons.jexl3

## Class JexlException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - org.apache.commons.jexl3.JexlException

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    JexlException.Annotation, JexlException.Break, JexlException.Cancel, JexlException.Continue, JexlException.Method, JexlException.Operator, JexlException.Parsing, JexlException.Property, JexlException.Return, JexlException.StackOverflow, JexlException.Tokenization, JexlException.TryFailed, JexlException.Variable, JxltEngine.Exception

      public class JexlException
      extends RuntimeException

  Wraps any error that might occur during interpretation of a script or expression.
  Since:
    2.0
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `JexlException.Ambiguous` Thrown when parsing fails due to an ambiguous statement.
    `static class` | `JexlException.Annotation` Thrown when an annotation handler throws an exception.
    `static class` | `JexlException.Assignment` Thrown when parsing fails due to an invalid assigment.
    `static class` | `JexlException.Break` Thrown to break a loop.
    `static class` | `JexlException.Cancel` Thrown to cancel a script execution.
    `static class` | `JexlException.Continue` Thrown to continue a loop.
    `static class` | `JexlException.Feature` Thrown when parsing fails due to a disallowed feature.
    `static class` | `JexlException.Method` Thrown when a method or ctor is unknown, ambiguous or inaccessible.
    `static class` | `JexlException.Operator` Thrown when an operator fails.
    `static class` | `JexlException.Parsing` Thrown when parsing fails.
    `static class` | `JexlException.Property` Thrown when a property is unknown.
    `static class` | `JexlException.Return` Thrown to return a value.
    `static class` | `JexlException.StackOverflow` Thrown when reaching stack-overflow.
    `static class` | `JexlException.Tokenization` Thrown when tokenization fails.
    `static class` | `JexlException.TryFailed` Thrown when method/ctor invocation fails.
    `static class` | `JexlException.Variable` Thrown when a variable is unknown.
    `static class` | `JexlException.VariableIssue` The various type of variable issues.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JexlException(JexlInfo jinfo, String msg, Throwable cause)` Creates a new JexlException.
    `JexlException(org.apache.commons.jexl3.parser.JexlNode node, String msg)` Creates a new JexlException.
    `JexlException(org.apache.commons.jexl3.parser.JexlNode node, String msg, Throwable cause)` Creates a new JexlException.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String` | `annotationError(org.apache.commons.jexl3.parser.JexlNode node, String annotation)` Generates a message for an annotation error.
    `JexlException` | `clean()` Cleans a JexlException from any org.apache.commons.jexl3.internal stack trace element.
    `String` | `getDetail()`
    `JexlInfo` | `getInfo()` Gets the specific information for this exception.
    `static JexlInfo` | `getInfo(org.apache.commons.jexl3.parser.JexlNode node, JexlInfo info)` Deprecated. 3.2
    `String` | `getMessage()` Detailed info message about this error.
    `static String` | `methodError(org.apache.commons.jexl3.parser.JexlNode node, String method)` Deprecated. 3.2
    `static String` | `methodError(org.apache.commons.jexl3.parser.JexlNode node, String method, Object[] args)` Generates a message for a unsolvable method error.
    `static String` | `operatorError(org.apache.commons.jexl3.parser.JexlNode node, String symbol)` Generates a message for an operator error.
    `static String` | `propertyError(org.apache.commons.jexl3.parser.JexlNode node, String var)` Deprecated. 3.2
    `static String` | `propertyError(org.apache.commons.jexl3.parser.JexlNode node, String pty, boolean undef)` Generates a message for an unsolvable property error.
    `static String` | `sliceSource(String src, int froml, int fromc, int tol, int toc)` Removes a slice from a source.
    `static JexlException` | `tryFailed(InvocationTargetException xinvoke)` Wrap an invocation exception.
    `static String` | `variableError(org.apache.commons.jexl3.parser.JexlNode node, String variable, boolean undef)` Deprecated. 3.2
    `static String` | `variableError(org.apache.commons.jexl3.parser.JexlNode node, String variable, JexlException.VariableIssue issue)` Generates a message for a variable error.

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

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

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

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

- - ### Constructor Detail

    - #### JexlException

          public JexlException(org.apache.commons.jexl3.parser.JexlNode node,
                               String msg)

      Creates a new JexlException.
      Parameters:
        `node` - the node causing the error
        `msg` - the error message

    - #### JexlException

          public JexlException(org.apache.commons.jexl3.parser.JexlNode node,
                               String msg,
                               Throwable cause)

      Creates a new JexlException.
      Parameters:
        `node` - the node causing the error
        `msg` - the error message
        `cause` - the exception causing the error

    - #### JexlException

          public JexlException(JexlInfo jinfo,
                               String msg,
                               Throwable cause)

      Creates a new JexlException.
      Parameters:
        `jinfo` - the debugging information associated
        `msg` - the error message
        `cause` - the exception causing the error

  - ### Method Detail

    - #### getInfo

          public JexlInfo getInfo()

      Gets the specific information for this exception.
      Returns:
        the information

    - #### getInfo

          @Deprecated
          public static JexlInfo getInfo(org.apache.commons.jexl3.parser.JexlNode node,
                                                     JexlInfo info)

      Deprecated. 3.2
      Gets the most specific information attached to a node.
      Parameters:
        `node` - the node
        `info` - the information
      Returns:
        the information or null

    - #### clean

          public JexlException clean()

      Cleans a JexlException from any org.apache.commons.jexl3.internal stack trace element.
      Returns:
        this exception

    - #### getDetail

          public final String getDetail()

      Returns:
        this exception specific detail
      Since:
        3.2

    - #### sliceSource

          public static String sliceSource(String src,
                                           int froml,
                                           int fromc,
                                           int tol,
                                           int toc)

      Removes a slice from a source.
      Parameters:
        `src` - the source
        `froml` - the begin line
        `fromc` - the begin column
        `tol` - the to line
        `toc` - the to column
      Returns:
        the source with the (begin) to (to) zone removed

    - #### variableError

          @Deprecated
          public static String variableError(org.apache.commons.jexl3.parser.JexlNode node,
                                                         String variable,
                                                         boolean undef)

      Deprecated. 3.2
      Generates a message for a variable error.
      Parameters:
        `node` - the node where the error occurred
        `variable` - the variable
        `undef` - whether the variable is null or undefined
      Returns:
        the error message

    - #### variableError

          public static String variableError(org.apache.commons.jexl3.parser.JexlNode node,
                                             String variable,
                                             JexlException.VariableIssue issue)

      Generates a message for a variable error.
      Parameters:
        `node` - the node where the error occurred
        `variable` - the variable
        `issue` - the variable kind of issue
      Returns:
        the error message

    - #### propertyError

          public static String propertyError(org.apache.commons.jexl3.parser.JexlNode node,
                                             String pty,
                                             boolean undef)

      Generates a message for an unsolvable property error.
      Parameters:
        `node` - the node where the error occurred
        `pty` - the property
        `undef` - whether the property is null or undefined
      Returns:
        the error message

    - #### propertyError

          @Deprecated
          public static String propertyError(org.apache.commons.jexl3.parser.JexlNode node,
                                                         String var)

      Deprecated. 3.2
      Generates a message for an unsolvable property error.
      Parameters:
        `node` - the node where the error occurred
        `var` - the variable
      Returns:
        the error message

    - #### methodError

          @Deprecated
          public static String methodError(org.apache.commons.jexl3.parser.JexlNode node,
                                                       String method)

      Deprecated. 3.2
      Generates a message for a unsolvable method error.
      Parameters:
        `node` - the node where the error occurred
        `method` - the method name
      Returns:
        the error message

    - #### methodError

          public static String methodError(org.apache.commons.jexl3.parser.JexlNode node,
                                           String method,
                                           Object[] args)

      Generates a message for a unsolvable method error.
      Parameters:
        `node` - the node where the error occurred
        `method` - the method name
        `args` - the method arguments
      Returns:
        the error message

    - #### operatorError

          public static String operatorError(org.apache.commons.jexl3.parser.JexlNode node,
                                             String symbol)

      Generates a message for an operator error.
      Parameters:
        `node` - the node where the error occurred
        `symbol` - the operator name
      Returns:
        the error message

    - #### annotationError

          public static String annotationError(org.apache.commons.jexl3.parser.JexlNode node,
                                               String annotation)

      Generates a message for an annotation error.
      Parameters:
        `node` - the node where the error occurred
        `annotation` - the annotation name
      Returns:
        the error message
      Since:
        3.1

    - #### tryFailed

          public static JexlException tryFailed(InvocationTargetException xinvoke)

      Wrap an invocation exception.

      Return the cause if it is already a JexlException.

      Parameters:
        `xinvoke` - the invocation exception
      Returns:
        a JexlException

    - #### getMessage

          public String getMessage()

      Detailed info message about this error. Format is "debug![begin,end]: string \n msg" where: - debug is the debugging information if it exists (@link JexlEngine.setDebug) - begin, end are character offsets in the string for the precise location of the error - string is the string representation of the offending expression - msg is the actual explanation message for this error
      Overrides:
        `getMessage` in class `Throwable`
      Returns:
        this error as a string

Copyright © 2001–2021 The Apache Software Foundation. All rights reserved.