2015-04-01 133 views
0

我是ANTLR的新手。這是我正在嘗試編寫Visitor類的語法。來自ANTLR4訪客的投擲異常

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。有沒有辦法解決它?

回答

0

正如Sam Harwell所建議的那樣,一個未經檢查的例外可以起作用 - 作爲兩個選項之一 - here。我只是試了一下。

你可以在任何你想要的位置捕獲該異常。