Package org.apache.tomcat.util.json

# Class TokenMgrError

java.lang.Object
java.lang.Throwable
java.lang.Error
org.apache.tomcat.util.json.TokenMgrError

All Implemented Interfaces:
  `Serializable`

public class TokenMgrError extends Error
Token Manager Error.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`INVALID_LEXICAL_STATE`
Tried to change to an invalid lexical state.
`static final int`
`LEXICAL_ERROR`
Lexical error occurred.
`static final int`
`LOOP_DETECTED`
Detected (and bailed out of) an infinite loop in the token manager.
`static final int`
`STATIC_LEXER_ERROR`
An attempt was made to create a second instance of a static token manager.

## Constructor Summary

Constructors
Constructor
Description
`TokenMgrError()`
No arg constructor.
`TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar, int reason)`
Full Constructor.
`TokenMgrError(String message, int reason)`
Constructor with message and reason.

## Method Summary

Modifier and Type
Method
Description
`protected static final String`
`addEscapes(String str)`
Replaces unprintable characters by their escaped (or unicode escaped) equivalents in the given string
`String`
`getMessage()`
You can also modify the body of this method to customize your error messages.
`protected static String`
`LexicalErr(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar)`
Returns a detailed message for the Error when it is thrown by the token manager to indicate a lexical 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 Details

### LEXICAL_ERROR

public static final int LEXICAL_ERROR
Lexical error occurred.

See Also:
  - Constant Field Values

### STATIC_LEXER_ERROR

public static final int STATIC_LEXER_ERROR
An attempt was made to create a second instance of a static token manager.

See Also:
  - Constant Field Values

### INVALID_LEXICAL_STATE

public static final int INVALID_LEXICAL_STATE
Tried to change to an invalid lexical state.

See Also:
  - Constant Field Values

### LOOP_DETECTED

public static final int LOOP_DETECTED
Detected (and bailed out of) an infinite loop in the token manager.

See Also:
  - Constant Field Values

## Constructor Details

### TokenMgrError

public TokenMgrError()
No arg constructor.

### TokenMgrError

public TokenMgrError(String message, int reason)
Constructor with message and reason.

### TokenMgrError

public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar, int reason)
Full Constructor.

## Method Details

### addEscapes

protected static final String addEscapes(String str)
Replaces unprintable characters by their escaped (or unicode escaped) equivalents in the given string

### LexicalErr

protected static String LexicalErr(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, int curChar)
Returns a detailed message for the Error when it is thrown by the token manager to indicate a lexical error. Parameters : EOFSeen : indicates if EOF caused the lexical error curLexState : lexical state in which this error occurred errorLine : line number when the error occurred errorColumn : column number when the error occurred errorAfter : prefix that was seen before this error occurred curchar : the offending character Note: You can customize the lexical error message by modifying this method.

### getMessage

public String getMessage()
You can also modify the body of this method to customize your error messages. For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not of end-users concern, so you can return something like : "Internal Error : Please file a bug report .... " from this method for such cases in the release version of your parser.

Overrides:
  `getMessage` in class `Throwable`