2012-03-15 115 views
1

我想实现try-catch块

我在.jjt语法文件中提到的以下代码的JavaCC语法错误报告和恢复

当我执行命令的JJTree CMinus.jjt我得到以下错误

从文件CMinus_ragu.jjt读取。 。 。 解析输入时出错:org.javacc.jjtree.ParseException:遇到“”{“”{“”a t line 111,30。 正在等待之一: “throws”... “:”.. “#”...

代码中的错误是什么以及如何处理错误恢复?

回答

1

应该在语法文件中的错误处理程序代码之前添加关键字JAVACODE。因此,该方法应如下所示:

JAVACODE 
void error_skipto(int kind) { 
    ParseException e = generateParseException(); // generate the exception object. 
    System.out.println(e.toString()); // print the error message 
    Token t; 
    do { 
    t = getNextToken(); 
    } while (t.kind != kind); 
} 

这是因为应在使用java样式生成之前添加关键字JAVACODE。