Java異常是指在程序運行時發生的非正常情況,可以是語法錯誤、邏輯錯誤或運行時錯誤等,而Java提供了異常處理機制,使程序可以處理這些異常并且恢復正常執行。Java異常分為兩種類型:檢查異常和非檢查異常。
檢查異常
檢查異常需要在程序中顯式處理,無法忽略。Java編譯器會在編譯時檢查并要求程序必須處理這些異常。如果未處理,編譯器會報錯。
try{ //需要處理的語句 }catch(Exception e){ //異常處理 }
非檢查異常
非檢查異常是指程序在運行時才會發生的異常,也被稱為運行時異常。與檢查異常不同的是,程序不需要顯式處理這些異常。例如:NullPointerException、ArithmeticException等。
int num1 = 10; int num2 = 0; try{ int result = num1 / num2; }catch(Exception e){ //異常處理 }
異常處理
Java提供了多種處理異常的方式,最常用的是try-catch塊。
try{ //需要處理的語句 }catch(Exception e){ //異常處理 } finally{ //無論是否發生異常都會執行的代碼塊 }
try-catch塊中,try塊包含需要執行的語句,如果發生異常,則catch塊會執行異常處理代碼。finally塊中的代碼將無論是否發生異常都會執行。
此外,Java還提供了throws關鍵字,用于將異常拋出給調用該方法的部分進行處理。
public void divide(int num1, int num2) throws Exception{ if(num2 == 0){ throw new Exception("除數不能為0"); } else{ int result = num1 / num2; } }
在方法中使用throws關鍵字聲明異常,會將該異常拋出給調用該方法的部分進行處理。
在Java中,良好的異常處理是程序健壯性的重要保障,需要開發人員根據具體情況進行合理設計。