1. 程式人生 > >201671010127 2016-2017-8 初識異常處理

201671010127 2016-2017-8 初識異常處理

println 計算 ret string 問題 ror main方法 try 導致

異常的基本概念

在java中把導致程序中斷運行的情況分為兩種,一種就是異常,而另外一種叫做錯誤。所有異常的基類是Exception,錯誤的基類是Error。Exception是在java程序中可以編碼進行控制的,具有可編程性,而Error是指Java運行時系統來顯示與運行時系統本身有關的錯誤,Error對於程序員來說是災難性的,程序無法控制,比如jvm堆棧溢出錯誤,操作系統分配內存錯誤等。不管是Exception還是Error,他們的共同父類是java.lang.Throwable(可拋出的) 類。

異常是指在程序運行期可能出現的非正常情況,這些情況將導致程序出錯,這種出錯不同於代碼編寫錯誤或程序算法出錯,代碼編寫錯誤無法完成編譯,而程序算法出錯計算將取得錯誤的結果。程序出現異常時,缺省會直接造成程序的中斷運行,提前預知這種異常的可能性可以補充異常處理的邏輯,從這個角度出發,異常也是一種行之有效的邏輯處理機制,在程序中聲明異常或主動拋出異常也很常見。異常處理主要使用的關鍵字是:try、catch、finaly、throw、throws。

具體語法格式是:

try{

可能出現異常的代碼

}catch(異常類 對象){

出現異常後的處理,如果沒有出現異常,這裏是不會進入的。

}finally{

不管有沒有異常都會在最後執行的代碼。

}

什麽時候需要異常處理,看下面的例子:

public class Cal {
public int div(int a, int b) {
int result = a / b;
return result;
}
public static void main(String[] args) {
Cal cal=new Cal();
int result=cal.div(10, 2);
System.out.println("結果:"+result);
}
}
在這裏我們設計了Cal類和它的div方法,用於計算兩個數的商,在main方法中我們調用這個方法,可以正常的輸出:結果:5;但是如果用戶用下面的代碼調用(註意:除數為0。)
public static void main(String[] args) {
Cal cal=new Cal();
int result=cal.div(10, 0);
System.out.println("結果:"+result);
}
程序的語法是沒有問題的,但是程序確沒有能正常顯示結果,控制臺輸出了錯誤提示,這是因為0做了除數,導致程序發生異常,此時就需要異常處理。

201671010127 2016-2017-8 初識異常處理