相关疑难解决方法(0)

Antlr错误/异常处理

在网上做了一些研究之后,我发现这将是捕获异常并输出我自己的错误消息的方法.由于某种原因,我似乎仍然无法捕捉错误.下面是一个覆盖antlrs默认错误处理的类的代码.

我想要做的就是从antlr捕获异常并输出到java gui中语法不正确的屏幕.

public class ExceptionErrorStrategy extends DefaultErrorStrategy {

@Override
public void recover(Parser recognizer, RecognitionException e) {
    throw e;
}

@Override
public void reportInputMismatch(Parser recognizer, InputMismatchException e) throws RecognitionException {
    String msg = "Input is mismatched " + getTokenErrorDisplay(e.getOffendingToken());
    msg += " expecting: "+e.getExpectedTokens().toString(recognizer.getTokenNames());
    RecognitionException ex = new RecognitionException(msg, recognizer, recognizer.getInputStream(), recognizer.getContext());
    ex.initCause(e);
    throw ex;
}

@Override
public void reportMissingToken(Parser recognizer) {
    beginErrorCondition(recognizer);
    Token t = recognizer.getCurrentToken();
    IntervalSet expecting = getExpectedTokens(recognizer);
    String msg = "Missing "+expecting.toString(recognizer.getTokenNames()) + " at " …
Run Code Online (Sandbox Code Playgroud)

exception-handling antlr4

4
推荐指数
1
解决办法
5444
查看次数

标签 统计

antlr4 ×1

exception-handling ×1