異常處理的方式
1.程式塊中捕獲并處理異常
這種處理方式要采用try-catch-finally結構
2.将方法中産生的或可能産生的異常抛出,留給調用該方法的程式塊處理
使用throws關鍵字在方法頭聲明
try-catch-finally 結構
try-catch-finally 結構捕獲程式中産生的異常,
然後針對不同的異常采用不同的
處理程式進行處理

try-catch-finally的比對原則
(1)一個catch(ExceptionType1 e1)塊能夠捕獲所有ExceptionType1類型的異常,它的子類型也都可以被這個catch捕獲
(2)catch塊的安排要遵循先具體後抽象的原則:父異常類應該放在子異常類的後面,否則編譯器會報錯
(3)如果兩個異常類之間沒有繼承關系,則它們之間的先後關系可以是任意的
public class TestMultiCatch{
public static double calculateArea(double a, double b, double c){
double p = (a+b+c)/2;
return Math.sqrt(p*(p-a)*(p-b)*(p-c));
}
public static void main(String[] args){
try{
double a = Double.parseDouble(args[0]);
double b = Double.parseDouble(args[1]);
double c = Double.parseDouble(args[2]);
double s = calculateArea(a, b, c);
System.out.println("三角形面積是"+s);
}catch(ArrayIndexOutOfBoundsException e1){
System.out.println("數組通路越界,請至少輸
入3個參數");
} catch(Exception e){
System.out.println("捕獲到了Exception異常");
使用throws聲明異常
圖檔來源:
https://www.icourse163.org/learn/BFU-1205988807?tid=1461521444