1. 程式人生 > >Java的異常捕捉機制

Java的異常捕捉機制

要求:

編譯一個 java程式,完成實現計算絕對值表示式 |a-b|的功能。要求當b比a大時人為丟擲一個自定義異常,在計算絕對值時通過異常捕捉機制完成此絕對值表示式的計算。

1)首先自定義一個異常繼承Exception

package jisuan01;
public class MyException extends Exception{   //構建自定義異常,繼承Exception類
    public MyException(String Error) {  //構造方法    
        super(Error);  //繼承父類的構造方法
    }
}

2)然後通過throws宣告丟擲異常,和throw丟擲異常資訊,並通過try-catch函式捕捉異常並進行異常處理,具體原始碼如下:

package jisuan01;
import java.util.Scanner;
public class jisuan01 {
    public static double yichang (double a, double b) throws MyException {//定義方法丟擲異常
        double c;
        if(a<b) {   //判斷a是否小於b
            throw new MyException("此時a<b,出現異常!"); //錯誤資訊
        }
        else {
       c=a-b;
        }
        return
c;//返回值 } public static void main(String[]args){ double a, b; while(true){//無限迴圈 System.out.println("請輸入a:"); Scanner sc1=new Scanner(System.in); a=sc1.nextDouble();//把輸入的值給a System.out.println("請輸入b:"); Scanner sc2=new Scanner(System.in); b=sc1.nextDouble(); //把輸入的值給b
try { double c = yichang(a, b); //呼叫yichang函式 System.out.println("|a-b|="+c);//輸出yichang函式返回值 } catch(MyException e){ double c1; c1=b-a; System.out.println(e);//輸出異常資訊 System.out.println("|a-b|="+c1); //出現異常,輸出|a-b|的值 } } } }

執行結果如下所示: 這裡寫圖片描述