![]() |
1
2
我对ANTLR不太了解,所以这可能有点离谱,但是题为“错误处理”的部分 this migration page 看起来很有帮助。
它建议你可以使用
|
![]() |
2
0
您还可以重写ReportError(RecognitionException)方法,使其重新引发异常而不是打印它,如下所示:
但是,我不确定您是否需要这样做(或者用ire_and_curses给出的解决方案),因为每次解析尝试只会得到一个错误,然后您就可以修复它,只是为了找到下一个错误。如果您尝试恢复(Antlr可以),您可以在一次尝试中获得多个错误,并修复所有错误。 |
![]() |
3
0
您需要覆盖
然后,您需要更改解析器处理这些异常的方式,这样它们就不会被吞没:
(解析器中所有规则匹配方法的主体将包含在
比较而言,默认实现
以及默认的rulecatch:
|