2010-05-14 55 views
1

我有一个树解析器,它对我的​​ 解析器生成的AST进行语义分析。它已宣布的规则如下:在ANTLR语法规则上声明的异常被忽略

transitionDefinition throws WorkflowStateNotFoundException: /* ... */ 

这编译就好了,并在ANTLR Wiki 的规则语法匹配,但我的例外是从来没有 宣布所以Java编译器抱怨未申报异常。

./tool/src/main/antlr3/org/antlr/grammar/v3/ANTLRv3.g表明,它的建设 树(但我不是,如果是在V2或V3语法是ANTLR 3.2使用实际上正):

throwsSpec 
    : 'throws' id (',' id)* -> ^('throws' id+) 
    ; 

我知道我可以使它运行时例外,但我想用我的异常 层次结构。我做错了什么或者该语法是否工作?

回答