org.apache.sysds.parser

## Class ParseException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - org.apache.sysds.api.DMLException
        - - org.apache.sysds.parser.ParseException

- All Implemented Interfaces:
    Serializable

      public class ParseException
      extends DMLException

  This exception is thrown when parse issues are encountered.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.sysds.api.DMLException

      `ERROR_MSG_DELIMITER`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParseException()`
    `ParseException(List<CustomErrorListener.ParseIssue> parseIssues, String scriptString)` This constructor takes a list of parse issues that were generated during script parsing and the original DML/PyDML script String.
    `ParseException(String message)`
    `ParseException(String message, Exception e)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getMessage()` Obtain the exception message.
    `List<CustomErrorListener.ParseIssue>` | `getParseIssues()` Obtain the list of parse issues that occurred.
    `String` | `getScriptString()` Obtain the original DML/PyDML script string.
    `boolean` | `hasParseIssues()` Does this ParseException contain a list of parse issues?
    `void` | `setParseIssues(List<CustomErrorListener.ParseIssue> parseIssues)` Set the list of parse issues.
    `void` | `setScriptString(String scriptString)` Set the original DML/PyDML script string.

    - ### 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

    - #### ParseException

          public ParseException()

    - #### ParseException

          public ParseException(String message)

    - #### ParseException

          public ParseException(String message,
                                Exception e)

    - #### ParseException

          public ParseException(List<CustomErrorListener.ParseIssue> parseIssues,
                                String scriptString)

      This constructor takes a list of parse issues that were generated during script parsing and the original DML/PyDML script String.
      Parameters:
        `parseIssues` - List of parse issues (syntax errors, validation errors, and validation warnings) generated during parsing.
        `scriptString` - The DML/PyDML script String.

  - ### Method Detail

    - #### getParseIssues

          public List<CustomErrorListener.ParseIssue> getParseIssues()

      Obtain the list of parse issues that occurred.
      Returns:
        the list of parse issues

    - #### setParseIssues

          public void setParseIssues(List<CustomErrorListener.ParseIssue> parseIssues)

      Set the list of parse issues.
      Parameters:
        `parseIssues` - the list of parse issues

    - #### getScriptString

          public String getScriptString()

      Obtain the original DML/PyDML script string.
      Returns:
        the original DML/PyDML script string

    - #### setScriptString

          public void setScriptString(String scriptString)

      Set the original DML/PyDML script string.
      Parameters:
        `scriptString` - the original DML/PyDML script string

    - #### hasParseIssues

          public boolean hasParseIssues()

      Does this ParseException contain a list of parse issues?
      Returns:
        `true` if the list of parse issues exists and is greater than 0, `false` otherwise

    - #### getMessage

          public String getMessage()

      Obtain the exception message. If there is a list of parse issues, these are used to generate the exception message.
      Overrides:
        `getMessage` in class `Throwable`

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