来自ANTLR4访问者的抛出异常

时间:2015-04-01 10:38:05

标签: antlr antlr4

我是一名ANTLR新手。这是我正在尝试编写一个Visitor类的语法。

grammar extremelysimpleexpr ;

stat : expr ;
expr : sub ;
sub : add ( '-' add )* ;
add : VAL ( '+' VAL )* 
    | VAL
    ;  


VAL : [0-9]+ ;
[ \t\n\r]+ -> skip ;

Vistor.java

 .........
  public Integer vistAdd(ctx) {
       if (some cond) {
          throw new Exception()
       }
  }
 ..........

问题是我无法抛出异常,因为生成的代码不处理异常,方法签名在其签名中没有throws exception。有什么办法吗?

1 个答案:

答案 0 :(得分:0)

正如Sam Harwell所建议的那样,未经检查的例外可以作为两个选项之一 - here。我刚尝试过。

您可以随时随地捕捉该异常。