我有一个Java程序可以解析几个不同的输入文件。即使在此输入文件中发现错误,解析仍然可以继续并收集其他几个错误。所以我想做的不是抛出异常并停止解析过程,而是将异常注册到某个地方,然后继续解析,并以类似的方式收集其他几个错误,最后我想检查是否报告了任何错误,并根据此检查是否失败或继续。
当然,我总是可以通过编写ExceptionRegister或其他任何类来手动完成此操作,但我想知道两件事:
1)这种方法有问题吗?你知道我想要做的事情有什么替代设计吗?
2)有没有这样做的标准方法?(例如,如果可能的话,我想使用内置功能,而不是滚动我自己的类)
谢谢
编辑:我不知道为什么,但就在我接受他的答案之前,有人刚刚删除了他的答案。无论如何,我认为简单的数据结构应该可以工作。基本上,我将编写一个异常类来收集几条错误消息。然后,我将调用它的抛出方法,如果它至少注册了一条错误消息,它就会抛出自己。
EDIT2:这里有更多的澄清。我的问题与解析无关。解析只是一个例子,因为我的程序做了一些解析。想一想:我正在运行一个算法,在出现错误的情况下,我可以继续这个算法来收集更多的错误,这样就不需要打印一个错误,当它修复后,打印第二个错误,我可以一起打印这两个错误。
https://stackoverflow.com/questions/19871331
复制相似问题