【记录】Antlr中的异常处理学习笔记

【背景

之前已经折腾了一些,关于antlr的异常处理:

【记录】尝试折腾antlr v3的异常处理和错误恢复:VARIABLE的CLASS的值INPUT故意写错为INPUT1

【记录】折腾antlr的异常处理:使得当初错时,输出更详细的错误信息,包含堆栈信息

【整理】antlr的Exception Handling异常处理中的异常Exception的类型

现在,继续去学习:

The Definitive ANTLR Reference.pdf

中的相关内容,并整理如下:

1.antlr中产生出错详细信息,不是用英文写死的,而是从所相关的内部的对象,去生成的。

其意味着:

(1)BaseRecognizer中的报告错误的函数,生成的错误信息,都是本地化(localized)之后的;

(2)你可以去覆写相关的函数,加上你自己,想要的,当某异常时报告某种错误信息;

2.不要指望

getMessage( )

可以返回你需要的所有的(出错信息)

3.当然,是可以在语法grammar文件中,加上对应的action code,收集相关的信息,去提供给出错的时候,显示出来。

这点,之前已经参考教程,照葫芦画瓢的实现了:

【记录】折腾antlr的异常处理:使得当初错时,输出更详细的错误信息,包含堆栈信息

4.此处,去试试那个paraphrase:

【记录】尝试antlr的paraphrase去提供对于用户更好友好的错误信息

5.



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量