Java基礎筆記39——異常處理
阿新 • • 發佈:2021-09-17
異常的定義:
執行期間出現的錯誤,而不是編譯時的語法錯誤
異常的分類:
Throwable:異常最大的父類
(1)Error:嚴重級別錯誤,一般不使用程式碼解決,例如堆疊溢位、記憶體溢位、虛擬機器錯誤
(2)Exception:
①執行時異常(非檢查性異常):一般由於程式設計師經驗不足導致,屬於bug,可以通過優化程式碼處理,一般不需要使用異常處理機制來解決,例如算數異常、陣列下標越界、空指標異常等
②非執行時異常(檢查性異常):通常由於外界原因導致,編譯器會進行檢查,且提示,必須進行處理,例如檔案找不到、資料庫連線中斷等
例子:
package com.lqh.chapter06; importjava.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; public class _38check { //非執行時異常(檢查性異常) public static void check() { try { FileInputStream input = new FileInputStream(new File("你好.txt")); } catch (FileNotFoundException e) { System.out.println("你的檔案<你好.txt>找不到"); } } //執行時異常(非檢查性異常) private static void uncheck() { int[] list = new int[] {1,2,3,4,5}; for (int i = 0; i <= list.length; i++) { System.out.println(list[i]); } } public static void main(String[] args) {//非執行時異常(檢查性異常) check(); //執行時異常(非檢查性異常) uncheck(); } }
輸出結果:
你的檔案<你好.txt>找不到
1
2
3
4
5
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
at com.lqh.chapter06._38check.uncheck(_38check.java:21)
at com.lqh.chapter06._38check.main(_38check.java:29)