JAVA
異常處理機制的簡單原理和應用
一、Execption可以分為java標準定義的異常和程式設計師自定義異常2種
(1)一種是當程式違反了java語規則的時候,JAVA虛擬機器就會將發生的錯誤表示為一個異常.這裡語法規則指的是JAVA類庫內建的語義檢查。
例如 int i = 2 / 0 或者 String str = null;str.length();
(2)另一種情況就是JAVA允許程式設計師擴充套件這種語義檢查,程式設計師可以建立自己的異常,並自由選擇在何時用throw關鍵字引發異常。
例如 Exception ex = new Exception("這是我自定義的異常資訊");throw ex;
所有的異常都是Thowable的子類。
異常處理是與程式執行是並行的。
程式碼示例:
Try{
//可能發現異常的語句塊
}catch(異常型別,e){
//發生異常時候的執行語句塊
} finnally{
//不管是否發生異常都執行的語句塊
}
二、異常的處理方式
包括捕獲異常和上拋異常
1、捕獲異常
以捕獲 int i=2/0 為例
try {
int i = 2 / 0;
} catch (Exception ex) {// 所有異常的父類Exception
ex.printStackTrace();
// 處理異常
System.out.println("異常資訊:" + ex.getMessage());
finally {
System.out.println("釋放資源,後續程式碼,一定要執行的程式碼");
System.out.println("繼續執行");
ex.printStackTrace()表示向控制檯列印詳細異常資訊
2、上拋異常 throws
以 String str =null;
str.length();(未例項化)為例
package test;
import com.hanqi.ThrowEX;
public class Test {
public void test() throws Exception { //用throws
String str = null;
str.length();
public static void main(String[] args) {
ThrowEX te = new ThrowEX(); //用throw
te.test();
} catch (Exception e) {// TODO 自動生成的 catch塊
e.printStackTrace();
System.out.println("異常資訊為" + e.getMessage());
e.printStackTrace()表示向控制檯列印詳細異常資訊
JAVA
異常處理機制的簡單原理和應用
一、Execption可以分為java標準定義的異常和程式設計師自定義異常2種
(1)一種是當程式違反了java語規則的時候,JAVA虛擬機器就會將發生的錯誤表示為一個異常.這裡語法規則指的是JAVA類庫內建的語義檢查。
例如 int i = 2 / 0 或者 String str = null;str.length();
(2)另一種情況就是JAVA允許程式設計師擴充套件這種語義檢查,程式設計師可以建立自己的異常,並自由選擇在何時用throw關鍵字引發異常。
例如 Exception ex = new Exception("這是我自定義的異常資訊");throw ex;
所有的異常都是Thowable的子類。
異常處理是與程式執行是並行的。
程式碼示例:
Try{
//可能發現異常的語句塊
}catch(異常型別,e){
//發生異常時候的執行語句塊
} finnally{
//不管是否發生異常都執行的語句塊
}
二、異常的處理方式
包括捕獲異常和上拋異常
1、捕獲異常
以捕獲 int i=2/0 為例
try {
int i = 2 / 0;
} catch (Exception ex) {// 所有異常的父類Exception
ex.printStackTrace();
// 處理異常
System.out.println("異常資訊:" + ex.getMessage());
}
finally {
System.out.println("釋放資源,後續程式碼,一定要執行的程式碼");
}
System.out.println("繼續執行");
ex.printStackTrace()表示向控制檯列印詳細異常資訊
2、上拋異常 throws
以 String str =null;
str.length();(未例項化)為例
package test;
import com.hanqi.ThrowEX;
public class Test {
public void test() throws Exception { //用throws
String str = null;
str.length();
}
public static void main(String[] args) {
ThrowEX te = new ThrowEX(); //用throw
try {
te.test();
} catch (Exception e) {// TODO 自動生成的 catch塊
e.printStackTrace();
System.out.println("異常資訊為" + e.getMessage());
}
}
}
e.printStackTrace()表示向控制檯列印詳細異常資訊