Package 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
Description
`ParseException()`
`ParseException(String message)`
`ParseException(String message, Exception e)`
`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.

## Method Summary

Modifier and Type
Method
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 Details

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

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