[英]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.