freemarker.core

## Class ParseException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.io.IOException
      - - freemarker.core.ParseException

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  Template.WrongEncodingException

    public class ParseException
    extends IOException

Parsing-time exception in a template (as opposed to a runtime exception, a `TemplateException`). This usually signals syntactical/lexical errors. Note that on JavaCC-level lexical errors throw `TokenMgrError` instead of this, however with the API-s that most users use those will be wrapped into `ParseException`-s. This is a modified version of file generated by JavaCC from FTL.jj. You can modify this class to customize the error reporting mechanisms so long as the public interface remains compatible with the original.

See Also:
  `TokenMgrError`, Serialized Form

### Field Summary

Fields
`static int` `_INCLUDE`
`static int` `AND`
`static int` `AS`
`static int` `ASCII_DIGIT`
`static int` `ASSIGN`
`static int` `ATTEMPT`
`static int` `AUTOESC`
`static int` `BLANK`
`static int` `BREAK`
`static int` `BUILT_IN`
`static int` `CALL`
`static int` `CASE`
`static int` `CLOSE_BRACKET`
`static int` `CLOSE_PAREN`
`static int` `CLOSE_TAG1`
`static int` `CLOSE_TAG2`
`static int` `CLOSING_CURLY_BRACKET`
`static int` `COLON`
`int` `columnNumber`
`static int` `COMMA`
`static int` `COMMENT`
`static int` `COMPRESS`
`freemarker.core.Token` `currentToken` This is the last token that has been consumed successfully.
`static int` `DECIMAL`
`static int` `DEFAUL`
`static int` `DEFAULT`
`static int` `DIRECTIVE_END`
`static int` `DIV_EQUALS`
`static int` `DIVIDE`
`static int` `DOLLAR_INTERPOLATION_OPENING`
`static int` `DOT`
`static int` `DOT_DOT`
`static int` `DOT_DOT_ASTERISK`
`static int` `DOT_DOT_LESS`
`static int` `DOUBLE_EQUALS`
`static int` `DOUBLE_STAR`
`static int` `ELLIPSIS`
`static int` `ELSE`
`static int` `ELSE_IF`
`static int` `EMPTY_DIRECTIVE_END`
`static int` `END_ASSIGN`
`static int` `END_ATTEMPT`
`static int` `END_AUTOESC`
`static int` `END_COMPRESS`
`static int` `END_ESCAPE`
`static int` `END_FOREACH`
`static int` `END_FUNCTION`
`static int` `END_GLOBAL`
`static int` `END_IF`
`static int` `END_ITEMS`
`static int` `END_LIST`
`static int` `END_LOCAL`
`static int` `END_MACRO`
`static int` `END_NOAUTOESC`
`static int` `END_NOESCAPE`
`static int` `END_OUTPUTFORMAT`
`static int` `END_RECOVER`
`static int` `END_SEP`
`static int` `END_SWITCH`
`static int` `END_TAG`
`static int` `END_TRANSFORM`
`int` `endColumnNumber`
`int` `endLineNumber`
`static int` `EOF`
`protected String` `eol` The end of line string for this machine.
`static int` `EQUALS`
`static int` `ESCAPE`
`static int` `ESCAPED_CHAR`
`static int` `ESCAPED_GT`
`static int` `ESCAPED_GTE`
`static int` `ESCAPED_ID_CHAR`
`static int` `EXCLAM`
`static int` `EXISTS`
`int[][]` `expectedTokenSequences` Each entry in this array is an array of integers.
`static int` `EXPRESSION_COMMENT`
`static int` `FALLBACK`
`static int` `FALSE`
`static int` `FLUSH`
`static int` `FM_EXPRESSION`
`static int` `FOREACH`
`static int` `FTL_HEADER`
`static int` `FUNCTION`
`static int` `GLOBALASSIGN`
`static int` `HALT`
`static int` `HASH_INTERPOLATION_OPENING`
`static int` `ID`
`static int` `ID_START_CHAR`
`static int` `IF`
`static int` `IMPORT`
`static int` `IN`
`static int` `IN_PAREN`
`static int` `INTEGER`
`static int` `ITEMS`
`static int` `KEEP_GOING`
`static int` `LESS_THAN`
`static int` `LESS_THAN_EQUALS`
`int` `lineNumber`
`static int` `LIST`
`static int` `LOCALASSIGN`
`static int` `LONE_LESS_THAN_OR_DASH`
`static int` `LTRIM`
`static int` `MACRO`
`static int` `MAYBE_END`
`static int` `MINUS`
`static int` `MINUS_EQUALS`
`static int` `MINUS_MINUS`
`static int` `MOD_EQUALS`
`static int` `NAMED_PARAMETER_EXPRESSION`
`static int` `NATURAL_GT`
`static int` `NATURAL_GTE`
`static int` `NESTED`
`static int` `NO_PARSE`
`static int` `NO_SPACE_EXPRESSION`
`static int` `NOAUTOESC`
`static int` `NODIRECTIVE`
`static int` `NOESCAPE`
`static int` `NON_ESCAPED_ID_START_CHAR`
`static int` `NOPARSE`
`static int` `NOT_EQUALS`
`static int` `NOTRIM`
`static int` `OPEN_BRACKET`
`static int` `OPEN_MISPLACED_INTERPOLATION`
`static int` `OPEN_PAREN`
`static int` `OPENING_CURLY_BRACKET`
`static int` `OR`
`static int` `OUTPUTFORMAT`
`static int` `PERCENT`
`static int` `PLUS`
`static int` `PLUS_EQUALS`
`static int` `PLUS_PLUS`
`static int` `RAW_STRING`
`static int` `RECOVER`
`static int` `RECURSE`
`static int` `RETURN`
`static int` `RTRIM`
`static int` `SEMICOLON`
`static int` `SEP`
`static int` `SETTING`
`static int` `SIMPLE_NESTED`
`static int` `SIMPLE_RECURSE`
`static int` `SIMPLE_RETURN`
`protected boolean` `specialConstructor` Deprecated. Will be remove without replacement in 2.4.
`static int` `START_TAG`
`static int` `STATIC_TEXT_FALSE_ALARM`
`static int` `STATIC_TEXT_NON_WS`
`static int` `STATIC_TEXT_WS`
`static int` `STOP`
`static int` `STRING_LITERAL`
`static int` `SWITCH`
`static int` `TERMINATING_EXCLAM`
`static int` `TERMINATING_WHITESPACE`
`static int` `TERSE_COMMENT`
`static int` `TERSE_COMMENT_END`
`static int` `TIMES`
`static int` `TIMES_EQUALS`
`String[]` `tokenImage` This is a reference to the "tokenImage" array of the generated parser within which the parse error occurred.
`static int` `TRANSFORM`
`static int` `TRIM`
`static int` `TRIVIAL_FTL_HEADER`
`static int` `TRUE`
`static int` `UNIFIED_CALL`
`static int` `UNIFIED_CALL_END`
`static int` `UNKNOWN_DIRECTIVE`
`static int` `USING`
`static int` `VISIT`

### Constructor Summary

Constructors
`protected` `ParseException()` Deprecated. Use a constructor to which you pass description, template, and positions.
`` `ParseException(String description, int lineNumber, int columnNumber)` Deprecated. Use a constructor to which you can also pass the template, and the end positions.
`` `ParseException(String description, Template template, int lineNumber, int columnNumber)` Deprecated. Use `ParseException(String, Template, int, int, int, int)` instead, as IDE-s need the end position of the error too.
`` `ParseException(String description, Template template, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber)`
`` `ParseException(String description, Template template, int lineNumber, int columnNumber, int endLineNumber, int endColumnNumber, Throwable cause)`
`` `ParseException(String description, Template template, int lineNumber, int columnNumber, Throwable cause)` Deprecated. Use `ParseException(String, Template, int, int, int, int, Throwable)` instead, as IDE-s need the end position of the error too.
`` `ParseException(String description, freemarker.core.TemplateObject tobj)`
`` `ParseException(String description, freemarker.core.TemplateObject tobj, Throwable cause)`
`` `ParseException(String description, Template template, freemarker.core.Token tk)`
`` `ParseException(String description, Template template, freemarker.core.Token tk, Throwable cause)`
`` `ParseException(freemarker.core.Token currentTokenVal, int[][] expectedTokenSequencesVal, String[] tokenImageVal)` This constructor is used by the method "generateParseException" in the generated parser.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected String` `add_escapes(String str)` Used to convert raw characters to their escaped version when these raw version cannot be used as part of an ASCII string literal.
`int` `getColumnNumber()` 1-based column number of the failing section, or 0 is the information is not available.
`String` `getEditorMessage()` Returns the description of the error without error location or source quotations, or `null` if there's no description available.
`int` `getEndColumnNumber()` 1-based column number of the last character of the failing section, or 0 if the information is not available.
`int` `getEndLineNumber()` 1-based line number of the last line that contains the failing section, or 0 if the information is not available.
`int` `getLineNumber()` 1-based line number of the failing section, or 0 is the information is not available.
`String` `getMessage()` Returns the error location plus the error description.
`String` `getTemplateName()` Returns the name (template-root relative path) of the template whose parsing was failed.
`void` `setTemplateName(String templateName)` Should be used internally only; sets the name of the template that contains the 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

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

### Field Detail

#### currentToken

    public freemarker.core.Token currentToken

This is the last token that has been consumed successfully. If this object has been created due to a parse error, the token following this token will (therefore) be the first error token.

#### columnNumber

    public int columnNumber

#### lineNumber

    public int lineNumber

#### endColumnNumber

    public int endColumnNumber

#### endLineNumber

    public int endLineNumber

#### expectedTokenSequences

    public int[][] expectedTokenSequences

Each entry in this array is an array of integers. Each array of integers represents a sequence of tokens (by their ordinal values) that is expected at this point of the parse.

#### tokenImage

    public String[] tokenImage

This is a reference to the "tokenImage" array of the generated parser within which the parse error occurred. This array is defined in the generated ...Constants interface.

#### eol

    protected String eol

The end of line string for this machine.

#### specialConstructor

    @Deprecated
    protected boolean specialConstructor

Deprecated. Will be remove without replacement in 2.4.

#### EOF

    public static final int EOF

See Also:
  Constant Field Values

#### BLANK

    public static final int BLANK

See Also:
  Constant Field Values

#### START_TAG

    public static final int START_TAG

See Also:
  Constant Field Values

#### END_TAG

    public static final int END_TAG

See Also:
  Constant Field Values

#### CLOSE_TAG1

    public static final int CLOSE_TAG1

See Also:
  Constant Field Values

#### CLOSE_TAG2

    public static final int CLOSE_TAG2

See Also:
  Constant Field Values

#### ATTEMPT

    public static final int ATTEMPT

See Also:
  Constant Field Values

#### RECOVER

    public static final int RECOVER

See Also:
  Constant Field Values

#### IF

    public static final int IF

See Also:
  Constant Field Values

#### ELSE_IF

    public static final int ELSE_IF

See Also:
  Constant Field Values

#### LIST

    public static final int LIST

See Also:
  Constant Field Values

#### ITEMS

    public static final int ITEMS

See Also:
  Constant Field Values

#### SEP

    public static final int SEP

See Also:
  Constant Field Values

#### FOREACH

    public static final int FOREACH

See Also:
  Constant Field Values

#### SWITCH

    public static final int SWITCH

See Also:
  Constant Field Values

#### CASE

    public static final int CASE

See Also:
  Constant Field Values

#### ASSIGN

    public static final int ASSIGN

See Also:
  Constant Field Values

#### GLOBALASSIGN

    public static final int GLOBALASSIGN

See Also:
  Constant Field Values

#### LOCALASSIGN

    public static final int LOCALASSIGN

See Also:
  Constant Field Values

#### _INCLUDE

    public static final int _INCLUDE

See Also:
  Constant Field Values

#### IMPORT

    public static final int IMPORT

See Also:
  Constant Field Values

#### FUNCTION

    public static final int FUNCTION

See Also:
  Constant Field Values

#### MACRO

    public static final int MACRO

See Also:
  Constant Field Values

#### TRANSFORM

    public static final int TRANSFORM

See Also:
  Constant Field Values

#### VISIT

    public static final int VISIT

See Also:
  Constant Field Values

#### STOP

    public static final int STOP

See Also:
  Constant Field Values

#### RETURN

    public static final int RETURN

See Also:
  Constant Field Values

#### CALL

    public static final int CALL

See Also:
  Constant Field Values

#### SETTING

    public static final int SETTING

See Also:
  Constant Field Values

#### OUTPUTFORMAT

    public static final int OUTPUTFORMAT

See Also:
  Constant Field Values

#### AUTOESC

    public static final int AUTOESC

See Also:
  Constant Field Values

#### NOAUTOESC

    public static final int NOAUTOESC

See Also:
  Constant Field Values

#### COMPRESS

    public static final int COMPRESS

See Also:
  Constant Field Values

#### COMMENT

    public static final int COMMENT

See Also:
  Constant Field Values

#### TERSE_COMMENT

    public static final int TERSE_COMMENT

See Also:
  Constant Field Values

#### NOPARSE

    public static final int NOPARSE

See Also:
  Constant Field Values

#### END_IF

    public static final int END_IF

See Also:
  Constant Field Values

#### END_LIST

    public static final int END_LIST

See Also:
  Constant Field Values

#### END_ITEMS

    public static final int END_ITEMS

See Also:
  Constant Field Values

#### END_SEP

    public static final int END_SEP

See Also:
  Constant Field Values

#### END_RECOVER

    public static final int END_RECOVER

See Also:
  Constant Field Values

#### END_ATTEMPT

    public static final int END_ATTEMPT

See Also:
  Constant Field Values

#### END_FOREACH

    public static final int END_FOREACH

See Also:
  Constant Field Values

#### END_LOCAL

    public static final int END_LOCAL

See Also:
  Constant Field Values

#### END_GLOBAL

    public static final int END_GLOBAL

See Also:
  Constant Field Values

#### END_ASSIGN

    public static final int END_ASSIGN

See Also:
  Constant Field Values

#### END_FUNCTION

    public static final int END_FUNCTION

See Also:
  Constant Field Values

#### END_MACRO

    public static final int END_MACRO

See Also:
  Constant Field Values

#### END_OUTPUTFORMAT

    public static final int END_OUTPUTFORMAT

See Also:
  Constant Field Values

#### END_AUTOESC

    public static final int END_AUTOESC

See Also:
  Constant Field Values

#### END_NOAUTOESC

    public static final int END_NOAUTOESC

See Also:
  Constant Field Values

#### END_COMPRESS

    public static final int END_COMPRESS

See Also:
  Constant Field Values

#### END_TRANSFORM

    public static final int END_TRANSFORM

See Also:
  Constant Field Values

#### END_SWITCH

    public static final int END_SWITCH

See Also:
  Constant Field Values

#### ELSE

    public static final int ELSE

See Also:
  Constant Field Values

#### BREAK

    public static final int BREAK

See Also:
  Constant Field Values

#### SIMPLE_RETURN

    public static final int SIMPLE_RETURN

See Also:
  Constant Field Values

#### HALT

    public static final int HALT

See Also:
  Constant Field Values

#### FLUSH

    public static final int FLUSH

See Also:
  Constant Field Values

#### TRIM

    public static final int TRIM

See Also:
  Constant Field Values

#### LTRIM

    public static final int LTRIM

See Also:
  Constant Field Values

#### RTRIM

    public static final int RTRIM

See Also:
  Constant Field Values

#### NOTRIM

    public static final int NOTRIM

See Also:
  Constant Field Values

#### DEFAUL

    public static final int DEFAUL

See Also:
  Constant Field Values

#### SIMPLE_NESTED

    public static final int SIMPLE_NESTED

See Also:
  Constant Field Values

#### NESTED

    public static final int NESTED

See Also:
  Constant Field Values

#### SIMPLE_RECURSE

    public static final int SIMPLE_RECURSE

See Also:
  Constant Field Values

#### RECURSE

    public static final int RECURSE

See Also:
  Constant Field Values

#### FALLBACK

    public static final int FALLBACK

See Also:
  Constant Field Values

#### ESCAPE

    public static final int ESCAPE

See Also:
  Constant Field Values

#### END_ESCAPE

    public static final int END_ESCAPE

See Also:
  Constant Field Values

#### NOESCAPE

    public static final int NOESCAPE

See Also:
  Constant Field Values

#### END_NOESCAPE

    public static final int END_NOESCAPE

See Also:
  Constant Field Values

#### UNIFIED_CALL

    public static final int UNIFIED_CALL

See Also:
  Constant Field Values

#### UNIFIED_CALL_END

    public static final int UNIFIED_CALL_END

See Also:
  Constant Field Values

#### FTL_HEADER

    public static final int FTL_HEADER

See Also:
  Constant Field Values

#### TRIVIAL_FTL_HEADER

    public static final int TRIVIAL_FTL_HEADER

See Also:
  Constant Field Values

#### UNKNOWN_DIRECTIVE

    public static final int UNKNOWN_DIRECTIVE

See Also:
  Constant Field Values

#### STATIC_TEXT_WS

    public static final int STATIC_TEXT_WS

See Also:
  Constant Field Values

#### STATIC_TEXT_NON_WS

    public static final int STATIC_TEXT_NON_WS

See Also:
  Constant Field Values

#### STATIC_TEXT_FALSE_ALARM

    public static final int STATIC_TEXT_FALSE_ALARM

See Also:
  Constant Field Values

#### DOLLAR_INTERPOLATION_OPENING

    public static final int DOLLAR_INTERPOLATION_OPENING

See Also:
  Constant Field Values

#### HASH_INTERPOLATION_OPENING

    public static final int HASH_INTERPOLATION_OPENING

See Also:
  Constant Field Values

#### ESCAPED_CHAR

    public static final int ESCAPED_CHAR

See Also:
  Constant Field Values

#### STRING_LITERAL

    public static final int STRING_LITERAL

See Also:
  Constant Field Values

#### RAW_STRING

    public static final int RAW_STRING

See Also:
  Constant Field Values

#### FALSE

    public static final int FALSE

See Also:
  Constant Field Values

#### TRUE

    public static final int TRUE

See Also:
  Constant Field Values

#### INTEGER

    public static final int INTEGER

See Also:
  Constant Field Values

#### DECIMAL

    public static final int DECIMAL

See Also:
  Constant Field Values

#### DOT

    public static final int DOT

See Also:
  Constant Field Values

#### DOT_DOT

    public static final int DOT_DOT

See Also:
  Constant Field Values

#### DOT_DOT_LESS

    public static final int DOT_DOT_LESS

See Also:
  Constant Field Values

#### DOT_DOT_ASTERISK

    public static final int DOT_DOT_ASTERISK

See Also:
  Constant Field Values

#### BUILT_IN

    public static final int BUILT_IN

See Also:
  Constant Field Values

#### EXISTS

    public static final int EXISTS

See Also:
  Constant Field Values

#### EQUALS

    public static final int EQUALS

See Also:
  Constant Field Values

#### DOUBLE_EQUALS

    public static final int DOUBLE_EQUALS

See Also:
  Constant Field Values

#### NOT_EQUALS

    public static final int NOT_EQUALS

See Also:
  Constant Field Values

#### PLUS_EQUALS

    public static final int PLUS_EQUALS

See Also:
  Constant Field Values

#### MINUS_EQUALS

    public static final int MINUS_EQUALS

See Also:
  Constant Field Values

#### TIMES_EQUALS

    public static final int TIMES_EQUALS

See Also:
  Constant Field Values

#### DIV_EQUALS

    public static final int DIV_EQUALS

See Also:
  Constant Field Values

#### MOD_EQUALS

    public static final int MOD_EQUALS

See Also:
  Constant Field Values

#### PLUS_PLUS

    public static final int PLUS_PLUS

See Also:
  Constant Field Values

#### MINUS_MINUS

    public static final int MINUS_MINUS

See Also:
  Constant Field Values

#### LESS_THAN

    public static final int LESS_THAN

See Also:
  Constant Field Values

#### LESS_THAN_EQUALS

    public static final int LESS_THAN_EQUALS

See Also:
  Constant Field Values

#### ESCAPED_GT

    public static final int ESCAPED_GT

See Also:
  Constant Field Values

#### ESCAPED_GTE

    public static final int ESCAPED_GTE

See Also:
  Constant Field Values

#### PLUS

    public static final int PLUS

See Also:
  Constant Field Values

#### MINUS

    public static final int MINUS

See Also:
  Constant Field Values

#### TIMES

    public static final int TIMES

See Also:
  Constant Field Values

#### DOUBLE_STAR

    public static final int DOUBLE_STAR

See Also:
  Constant Field Values

#### ELLIPSIS

    public static final int ELLIPSIS

See Also:
  Constant Field Values

#### DIVIDE

    public static final int DIVIDE

See Also:
  Constant Field Values

#### PERCENT

    public static final int PERCENT

See Also:
  Constant Field Values

#### AND

    public static final int AND

See Also:
  Constant Field Values

#### OR

    public static final int OR

See Also:
  Constant Field Values

#### EXCLAM

    public static final int EXCLAM

See Also:
  Constant Field Values

#### COMMA

    public static final int COMMA

See Also:
  Constant Field Values

#### SEMICOLON

    public static final int SEMICOLON

See Also:
  Constant Field Values

#### COLON

    public static final int COLON

See Also:
  Constant Field Values

#### OPEN_BRACKET

    public static final int OPEN_BRACKET

See Also:
  Constant Field Values

#### CLOSE_BRACKET

    public static final int CLOSE_BRACKET

See Also:
  Constant Field Values

#### OPEN_PAREN

    public static final int OPEN_PAREN

See Also:
  Constant Field Values

#### CLOSE_PAREN

    public static final int CLOSE_PAREN

See Also:
  Constant Field Values

#### OPENING_CURLY_BRACKET

    public static final int OPENING_CURLY_BRACKET

See Also:
  Constant Field Values

#### CLOSING_CURLY_BRACKET

    public static final int CLOSING_CURLY_BRACKET

See Also:
  Constant Field Values

#### IN

    public static final int IN

See Also:
  Constant Field Values

#### AS

    public static final int AS

See Also:
  Constant Field Values

#### USING

    public static final int USING

See Also:
  Constant Field Values

#### ID

    public static final int ID

See Also:
  Constant Field Values

#### OPEN_MISPLACED_INTERPOLATION

    public static final int OPEN_MISPLACED_INTERPOLATION

See Also:
  Constant Field Values

#### NON_ESCAPED_ID_START_CHAR

    public static final int NON_ESCAPED_ID_START_CHAR

See Also:
  Constant Field Values

#### ESCAPED_ID_CHAR

    public static final int ESCAPED_ID_CHAR

See Also:
  Constant Field Values

#### ID_START_CHAR

    public static final int ID_START_CHAR

See Also:
  Constant Field Values

#### ASCII_DIGIT

    public static final int ASCII_DIGIT

See Also:
  Constant Field Values

#### DIRECTIVE_END

    public static final int DIRECTIVE_END

See Also:
  Constant Field Values

#### EMPTY_DIRECTIVE_END

    public static final int EMPTY_DIRECTIVE_END

See Also:
  Constant Field Values

#### NATURAL_GT

    public static final int NATURAL_GT

See Also:
  Constant Field Values

#### NATURAL_GTE

    public static final int NATURAL_GTE

See Also:
  Constant Field Values

#### TERMINATING_WHITESPACE

    public static final int TERMINATING_WHITESPACE

See Also:
  Constant Field Values

#### TERMINATING_EXCLAM

    public static final int TERMINATING_EXCLAM

See Also:
  Constant Field Values

#### TERSE_COMMENT_END

    public static final int TERSE_COMMENT_END

See Also:
  Constant Field Values

#### MAYBE_END

    public static final int MAYBE_END

See Also:
  Constant Field Values

#### KEEP_GOING

    public static final int KEEP_GOING

See Also:
  Constant Field Values

#### LONE_LESS_THAN_OR_DASH

    public static final int LONE_LESS_THAN_OR_DASH

See Also:
  Constant Field Values

#### DEFAULT

    public static final int DEFAULT

See Also:
  Constant Field Values

#### NODIRECTIVE

    public static final int NODIRECTIVE

See Also:
  Constant Field Values

#### FM_EXPRESSION

    public static final int FM_EXPRESSION

See Also:
  Constant Field Values

#### IN_PAREN

    public static final int IN_PAREN

See Also:
  Constant Field Values

#### NAMED_PARAMETER_EXPRESSION

    public static final int NAMED_PARAMETER_EXPRESSION

See Also:
  Constant Field Values

#### EXPRESSION_COMMENT

    public static final int EXPRESSION_COMMENT

See Also:
  Constant Field Values

#### NO_SPACE_EXPRESSION

    public static final int NO_SPACE_EXPRESSION

See Also:
  Constant Field Values

#### NO_PARSE

    public static final int NO_PARSE

See Also:
  Constant Field Values

### Constructor Detail

#### ParseException

    public ParseException(freemarker.core.Token currentTokenVal,
                          int[][] expectedTokenSequencesVal,
                          String[] tokenImageVal)

This constructor is used by the method "generateParseException" in the generated parser. Calling this constructor generates a new object of this type with the fields "currentToken", "expectedTokenSequences", and "tokenImage" set. This constructor calls its super class with the empty string to force the "toString" method of parent class "Throwable" to print the error message in the form: ParseException: <result of getMessage>

#### ParseException

    @Deprecated
    protected ParseException()

Deprecated. Use a constructor to which you pass description, template, and positions.
The following constructors are for use by you for whatever purpose you can think of. Constructing the exception in this manner makes the exception behave in the normal way - i.e., as documented in the class "Throwable". The fields "errorToken", "expectedTokenSequences", and "tokenImage" do not contain relevant information. The JavaCC generated code does not use these constructors.

#### ParseException

    @Deprecated
    public ParseException(String description,
                                       int lineNumber,
                                       int columnNumber)

Deprecated. Use a constructor to which you can also pass the template, and the end positions.

#### ParseException

    public ParseException(String description,
                          Template template,
                          int lineNumber,
                          int columnNumber,
                          int endLineNumber,
                          int endColumnNumber)

Since:
  2.3.21

#### ParseException

    public ParseException(String description,
                          Template template,
                          int lineNumber,
                          int columnNumber,
                          int endLineNumber,
                          int endColumnNumber,
                          Throwable cause)

Since:
  2.3.21

#### ParseException

    @Deprecated
    public ParseException(String description,
                                       Template template,
                                       int lineNumber,
                                       int columnNumber)

Deprecated. Use `ParseException(String, Template, int, int, int, int)` instead, as IDE-s need the end position of the error too.

Since:
  2.3.20

#### ParseException

    @Deprecated
    public ParseException(String description,
                                       Template template,
                                       int lineNumber,
                                       int columnNumber,
                                       Throwable cause)

Deprecated. Use `ParseException(String, Template, int, int, int, int, Throwable)` instead, as IDE-s need the end position of the error too.

Since:
  2.3.20

#### ParseException

    public ParseException(String description,
                          Template template,
                          freemarker.core.Token tk)

Since:
  2.3.20

#### ParseException

    public ParseException(String description,
                          Template template,
                          freemarker.core.Token tk,
                          Throwable cause)

Since:
  2.3.20

#### ParseException

    public ParseException(String description,
                          freemarker.core.TemplateObject tobj)

Since:
  2.3.20

#### ParseException

    public ParseException(String description,
                          freemarker.core.TemplateObject tobj,
                          Throwable cause)

Since:
  2.3.20

### Method Detail

#### setTemplateName

    public void setTemplateName(String templateName)

Should be used internally only; sets the name of the template that contains the error. This is needed as the constructor that JavaCC automatically calls doesn't pass in the template, so we set it somewhere later in an exception handler.

#### getMessage

    public String getMessage()

Returns the error location plus the error description.

Overrides:
  `getMessage` in class `Throwable`
See Also:
  `getDescription()`, `getTemplateName()`, `getLineNumber()`, `getColumnNumber()`

#### getEditorMessage

    public String getEditorMessage()

Returns the description of the error without error location or source quotations, or `null` if there's no description available. This is useful in editors (IDE-s) where the error markers and the editor window itself already carry this information, so it's redundant the repeat in the error dialog.

#### getTemplateName

    public String getTemplateName()

Returns the name (template-root relative path) of the template whose parsing was failed. Maybe `null` if this is a non-stored template.

Since:
  2.3.20

#### getLineNumber

    public int getLineNumber()

1-based line number of the failing section, or 0 is the information is not available.

#### getColumnNumber

    public int getColumnNumber()

1-based column number of the failing section, or 0 is the information is not available.

#### getEndLineNumber

    public int getEndLineNumber()

1-based line number of the last line that contains the failing section, or 0 if the information is not available.

Since:
  2.3.21

#### getEndColumnNumber

    public int getEndColumnNumber()

1-based column number of the last character of the failing section, or 0 if the information is not available. Note that unlike with Java string API-s, this column number is inclusive.

Since:
  2.3.21

#### add_escapes

    protected String add_escapes(String str)

Used to convert raw characters to their escaped version when these raw version cannot be used as part of an ASCII string literal.