0

この例外があり、executeStatement で使用したいと考えています。どうすればいいですか?

package cn.edu.thssdb.parser;

import org.antlr.v4.runtime.BaseErrorListener;
import org.antlr.v4.runtime.RecognitionException;
import org.antlr.v4.runtime.Recognizer;
import org.antlr.v4.runtime.misc.ParseCancellationException;

public class ThrowingErrorListener extends BaseErrorListener {

    @Override
    public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e)
            throws ParseCancellationException {
        throw new ParseCancellationException("line " + line + ":" + charPositionInLine + " " + msg + '\n');
    }
}
private static void executeStatement(String stmt, long sessionid) {
    ExecuteStatementReq req = new ExecuteStatementReq();
    req.setSessionId(sessionid);
    req.setStatement(stmt);
    try {
      ExecuteStatementResp resp = client.executeStatement(req);
      println(resp.getResult());
    } catch (TException e) {
      logger.error(e.getMessage());
    }
  }

また、TException で使用したり、ThrowingErrorListener に置き換えたりすることはできますか?

4

0 に答える 0