我不得不通过每月150 000多件藏书,每次收件大约需要3至4小时的罚款。 问题是,有些数据有时扔下了,但
除外。 (这当然是在我第一次测试时发生的,直到项目148 000。) 我简单地把它定在逻辑上无视例外(当然是这样说),但我认识到,我并不总是想简单地无视例外。
我写了一幅简单例外的手稿,其中涉及不同类型的例外情况,如果出现某种例外情况,则需要做些什么;例如,如果我收到一个<条码>SQLException。 I abort the process, but on an NullPointerException
我继续这样做,因为数据通常是一个问题。 我也跟踪了例外情况的总数,如果我打上了预设限,我也就杀了这一进程。
因此,我的问题是:我将为处理<代码>Collections中不同类型的数据而建设更多的这些方案。 是否设有一个图书馆,负责收集和处理不同类型的例外情况?
下面是我根据评论要求加入的一些法典。 如果你想放弃,“你想要做什么,问题是什么?” 但是,我很想知道,是否有一个图书馆,让我登记例外情况,以及遇到什么事情。 例如,在A类或D类例外情况出现时,如果B类的例外情况继续存在,除非发生X次,否则C类的继续发生,而完全无视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!");
}
}