在Java中,expected
異常并不是一個標(biāo)準(zhǔn)的異常類型??赡苣闶侵?code>Exception或者其子類,如IOException
、SQLException
等。這些異常通常表示在程序運(yùn)行過程中發(fā)生了預(yù)料之外的情況,需要開發(fā)者進(jìn)行處理。
處理異常的一般步驟如下:
try-catch
語句來捕獲和處理異常。你可以捕獲一個或多個特定的異常類型,也可以捕獲所有異常(使用Exception
類作為捕獲類型)。catch
塊中,你可以記錄異常的詳細(xì)信息,以便于調(diào)試和問題追蹤。下面是一個簡單的示例,演示了如何處理IOException
:
import java.io.*;
public class ExceptionHandlingExample {
public static void main(String[] args) {
try {
// 嘗試讀取文件
File file = new File("example.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
// 讀取文件內(nèi)容并打印
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
// 關(guān)閉資源
br.close();
fr.close();
} catch (FileNotFoundException e) {
// 處理文件未找到的異常
System.err.println("文件未找到: " + e.getMessage());
} catch (IOException e) {
// 處理其他I/O異常
System.err.println("發(fā)生I/O錯誤: " + e.getMessage());
} finally {
// 無論是否發(fā)生異常,都執(zhí)行清理操作
System.out.println("程序執(zhí)行完畢");
}
}
}
在這個示例中,我們嘗試讀取一個名為example.txt
的文件,并在發(fā)生FileNotFoundException
或IOException
時進(jìn)行處理。在finally
塊中,我們打印一條消息表示程序執(zhí)行完畢,這是為了確保無論是否發(fā)生異常,都能執(zhí)行一些清理操作。