我们有一个Windows服务,它执行以下操作 一个。获取特定目录中的文件 湾解密文件 C。拆分文件中的数据 d。将数据插入数据库
截至目前,它以这样的方式实现:在第一个异常时,它将终止进程,导致错误的文件被移出到另一个文件夹。成功处理的文件保留在同一位置。因此,在任何时间点,只处理未生成异常的最顶层文件。其余的都被排除在外。我们被迫频繁重启服务以处理所有文件。现在我们必须改变设计,即使在特定文件出现异常的情况下,我们仍应继续使用其余文件。我们有以下想法
一个。处理完成后,将处理过的文件也移动到其他位置 湾对处理finally块中的文件的相同方法进行递归方法调用。
请建议我们最好的出路。提前谢谢。
答案 0 :(得分:6)
捕获异常,执行一些日志记录并继续使用其余文件? 我没有看到问题
foreach( File f in filesToProcess )
{
try
{
ProcessFile (f);
MoveFile (f);
}
catch( IOException ex )
{
Log ("File could not be processed");
}
}