Package org.antlr.v4.runtime
Class RecognitionException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.antlr.v4.runtime.RecognitionException
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
FailedPredicateException
,InputMismatchException
,LexerNoViableAltException
,NoViableAltException
The root of the ANTLR exception hierarchy. In general, ANTLR tracks just
3 kinds of errors: prediction errors, failed predicate errors, and
mismatched input errors. In each case, the parser knows where it is
in the input, where it is in the ATN, the rule invocation stack,
and what kind of problem occurred.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final RuleContext
private final IntStream
private int
private Token
The currentToken
when an error occurred.private final Recognizer
<?, ?> TheRecognizer
where this exception originated. -
Constructor Summary
ConstructorsConstructorDescriptionRecognitionException
(String message, Recognizer<?, ?> recognizer, IntStream input, ParserRuleContext ctx) RecognitionException
(Recognizer<?, ?> recognizer, IntStream input, ParserRuleContext ctx) -
Method Summary
Modifier and TypeMethodDescriptiongetCtx()
Gets theRuleContext
at the time this exception was thrown.Gets the set of input symbols which could potentially follow the previously matched symbol at the time this exception was thrown.Gets the input stream which is the symbol source for the recognizer where this exception was thrown.int
Get the ATN state number the parser was in at the time the error occurred.Recognizer
<?, ?> Gets theRecognizer
where this exception occurred.protected final void
setOffendingState
(int offendingState) protected final void
setOffendingToken
(Token offendingToken) Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Field Details
-
recognizer
TheRecognizer
where this exception originated. -
ctx
-
input
-
offendingToken
-
offendingState
private int offendingState
-
-
Constructor Details
-
RecognitionException
-
RecognitionException
public RecognitionException(String message, Recognizer<?, ?> recognizer, IntStream input, ParserRuleContext ctx)
-
-
Method Details
-
getOffendingState
public int getOffendingState()Get the ATN state number the parser was in at the time the error occurred. ForNoViableAltException
andLexerNoViableAltException
exceptions, this is theDecisionState
number. For others, it is the state whose outgoing edge we couldn't match.If the state number is not known, this method returns -1.
-
setOffendingState
protected final void setOffendingState(int offendingState) -
getExpectedTokens
Gets the set of input symbols which could potentially follow the previously matched symbol at the time this exception was thrown.If the set of expected tokens is not known and could not be computed, this method returns
null
.- Returns:
- The set of token types that could potentially follow the current
state in the ATN, or
null
if the information is not available.
-
getCtx
Gets theRuleContext
at the time this exception was thrown.If the context is not available, this method returns
null
.- Returns:
- The
RuleContext
at the time this exception was thrown. If the context is not available, this method returnsnull
.
-
getInputStream
Gets the input stream which is the symbol source for the recognizer where this exception was thrown.If the input stream is not available, this method returns
null
.- Returns:
- The input stream which is the symbol source for the recognizer
where this exception was thrown, or
null
if the stream is not available.
-
getOffendingToken
-
setOffendingToken
-
getRecognizer
Gets theRecognizer
where this exception occurred.If the recognizer is not available, this method returns
null
.- Returns:
- The recognizer where this exception occurred, or
null
if the recognizer is not available.
-