【问题标题】:exception in file processing文件处理异常
【发布时间】:2012-03-15 14:27:07
【问题描述】:

假设我们需要处理 100 个文件(一个接一个),如果我们在读取其中一个文件时遇到异常,该进程应该离开该文件(并将内容放入日志)并开始处理下一个文件:

我的想法:

for (File f: listOfFiles) {
    try {
        //implementation of processing each file
    } catch (Exception e) {
        //logging 
    }
}​

我说的对吗?

【问题讨论】:

    标签: java core


    【解决方案1】:

    是的,应该可以。但是,您可能还希望更具体地捕获异常。

    【讨论】:

    • +1 表示“是”,顺便说一句,更具体地捕获异常是什么意思??
    • 不要一见钟情就抓住“异常”。分析你的代码可能会抛出哪些异常,并按照正确的顺序捕获它们,分别处理。
    • 好!我从另一个角度看..!
    【解决方案2】:

    是的!你是对的,把一些代码放在 finally 块中。我的意思是关闭任何流或关闭文件本身。类似于下面的伪代码。

    for(File f : listOfFiles){
       try{
          //implementation of processing each file
       }catch(Exception e){
          logException(e);
       }finally{
          //close stream or file.
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-25
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多