是否存在用于集合处理的Java库?
我每个月都要浏览一次150000多个项目的集合,每件事情都需要大约3到4个小时,这很好。问题是,有时一些数据会抛出一个exception
(当然,在我的第一次测试运行中,直到类似项目148000时才发生)。我只是简单地将其设置为在逻辑上忽略异常(当然要记录它),但我意识到我并不总是想简单地忽略异常
我编写了一个简单的异常处理程序,处理不同类型的异常,以及如果发生某种类型的异常,该怎么办;例如,如果我得到一个SQLException
,我会中止进程,但在一个NullPointerException
上,我会继续,因为这通常是数据的问题。我还跟踪异常的总数,如果达到预设限制,我也会终止进程
所以我的问题是:我将构建更多这样的程序来处理Collections
中不同类型的数据。是否有一个处理集合和不同类型异常的库
下面是我根据评论请求添加的一些代码。如果你在想,“好吧,这就是你想要它做的,问题是什么?”,你是对的。但我想知道是否存在允许我注册异常的库,以及遇到异常时该怎么办。例如,我想在A或D类异常发生时停止处理,在B类异常发生时继续,除非发生X次,在C类异常发生时继续,除非发生Y次,完全忽略E。主要是因为我知道我有不同的数据集,{
基本代码片段:
exeptionLimit = 50;
exceptionCount = 0;
for (long id : MyCollection)
{
try
{
//All these methods throw the exceptions
Item item = getItemById(id);
NewData data = ProcessItem(item);
SaveNewData(data);
}
catch (SQLException e)
{
//log
throw e; //I want this to cause the process to fail
}
catch (NullPointerException e)
{
//log
exceptionCount++;
if (exceptionCount >= exceptionLimit) throw new Exception("Limit hit!");
}
}
# 1 楼答案
A
Collection
表示数据的逻辑分组和对数据进行操作的一组函数你可以找到提供高级数据结构和比
JDK
中提供的性能更好的库,但是如果我正确理解了你的问题,你需要的是理解你想要在集合的之上构建的逻辑我的意思是,不同类型的异常之间的分离以及它们是否被记录等等都是应用程序逻辑的一部分
它与提供这一功能的集合框架无关。数据收集和辅助方法