推荐访问的推荐方法是什么?

时间:2014-08-08 22:08:27

标签: c# antlr4

我实施了自己的访客。在我的一个VisitXXX覆盖中,我可能不得不根据某种情况中止整个访问。

建议的方法是什么?显然我可以抛出并抓住它,但我想知道这是否会让事情处于一种奇怪的状态?

1 个答案:

答案 0 :(得分:1)

扔掉然后抓住它。您需要展开堆栈,这是最简单的方法,即使它不是漂亮。但这就是ANTLR在需要回溯时在幕后实际做的事情。

请确保使用您自己的异常类型,以便不会将错误解释为真正的异常。

至于州,访客对象没有保留,所以没有必要担心。看看访问者的源代码,那里没有隐藏的陷阱。只要你的代码没有在可能被破坏的地方引入某个状态,你就可以了。

相关问题