我只是想在发生异常时让 antlr 吐出错误消息。为此,我需要捕获 RecognitionException 并使用它来获得我需要的东西。
出于某种原因,我实施的以下内容不起作用。
我正在使用使用 antlr 4.1
语法内部:
@rulecatch
{
catch (RecognitionException e)
{
throw e;
}
}
@parser::members
{
public void reportError(RecognitionException e)
{
throw new RuntimeException(e.getMessage());
}
}
@lexer::members
{
public void reportError(RecognitionException e)
{
throw new RuntimeException(e.getMessage());
}
}