saveFile
拋出一個IOException
,你需要處理它或將它傳遞給調用者。
看看The try
Block更多細節
如果沒有更多的背景下,很難說你應該做的。你可以處理異常的當前方法中...
else if(option == 5){
try {
SaveFile();
} catch (IOException exp) {
// Handle the exception, tell the user, roll back, what ever
// At the very least use exp.printStackTrace()
}
}
或聲明當前方法拋出IOException
像SaveFile
方法確實
你SaveFile
方法也是潛在的,留下的文件打開。 ..
如果文件寫作過程中由於某種原因失敗,toTextFile.close
可能永遠不會被調用,相反,你應該利用try-finally
塊,例如
public static void SaveFile() throws IOException{
System.out.println("Saving File!");
FileWriter toTextFile = null;
try {
toTextFile = new FileWriter("output.txt");
for(x=0;x<new_num_book;x++){
toTextFile.write(name[x]);
}
} finally {
try {
toTextFile.close();
} catch (Exception exp) {
}
}
}
,或者如果您使用的是Java 7+,您可以利用的try-with-resources功能,例如...
public static void SaveFile() throws IOException{
System.out.println("Saving File!");
try (FileWriter toTextFile = new FileWriter("output.txt")) {
for(x=0;x<new_num_book;x++){
toTextFile.write(name[x]);
}
}
}
您可能還需要有Lesson: Exceptions和Code Conventions for the Java TM Programming Language,讀這將使人們更容易閱讀你的代碼並讓你閱讀其他人
看起來你沒有捕捉到'SaveFile'方法聲明的IOException。但是我們需要檢查更多的代碼以確保這一點。 – 2014-10-10 02:42:35