1. 程式人生 > 其它 >Java基礎筆記39——異常處理

Java基礎筆記39——異常處理

異常的定義:

執行期間出現的錯誤,而不是編譯時的語法錯誤


異常的分類:

Throwable:異常最大的父類
(1)Error:嚴重級別錯誤,一般不使用程式碼解決,例如堆疊溢位、記憶體溢位、虛擬機器錯誤
(2)Exception
執行時異常(非檢查性異常):一般由於程式設計師經驗不足導致,屬於bug,可以通過優化程式碼處理,一般不需要使用異常處理機制來解決,例如算數異常、陣列下標越界、空指標異常等
非執行時異常(檢查性異常):通常由於外界原因導致,編譯器會進行檢查,且提示,必須進行處理,例如檔案找不到、資料庫連線中斷等

例子:

package com.lqh.chapter06;

import
java.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)