簡體   English   中英

捕獲java中的多個文件讀取的異常

[英]Exception catching with multiple file reading in java

要處理多個文件讀取和輸出,在try catch塊中處理異常的最佳方法是什么。

try{
  BufferReader br1 = new BufferReader(new InputStreamReader(fileName1));
  BufferReader br2 = new BufferReader(new InputStreamReader(fileName2));
}catch(FileNotFoundException e){
  System.err.println("Not found file " + fileName1);
  System.err.println("Not found file " + fileName2);
}

如果找不到一個文件,則警告消息不太正確。 如果我創建另一個try catch塊,那么它可以解決問題,但它似乎很尷尬。 在這種情況下,最好的方法是什么? 謝謝。

創建一個createBufferedReader(String fileName)方法然后你就不會遇到這個問題。

樣品:

private BufferReader createBufferedReader(String fileName) {
   BufferReader br = null;
   try {
     br = new BufferReader(new FileReader(fileName));
     return br;
   } catch(FileNotFoundException e) {
       System.err.println("Not found file" + fileName);
   }
   return null;
}

我會創建一個輔助方法來創建一個BufferedReader並調用它兩次。

我發現將兩個try - catch塊分開是不明智的,不多也不少。

由Nappa提供的解決方案Saiyan執行其臟工作,但在方法中包裝一個功能應該意味着方法成功或失敗拋出異常。 它不會打印到stderr 在包裝器方法中再次拋出異常將再次給出原始問題。

真的,將try - catch塊分開。 如果您有n > 2文件名,只需在文件名數組上編寫一個for循環並自定義您的錯誤消息,以便打印無法讀取的文件編號。 然后你將有一個try - catch

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM