返回列表 發帖

例外處理 (五) - 自訂例外類別1

本帖最後由 鄭繼威 於 2023-7-26 21:14 編輯

除了捕捉Java拋出的例外物件,還可以利用關鍵字throw自行拋出例外物件。若在方法中拋出例外物件後,沒以try catch語法立即處理,則需在方法宣告列後方以throws關鍵字聲明該方法將會拋出例外物件,以強迫呼叫者處理例外。

  1. import java.util.Scanner;
  2. public class Ch38
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     public static void main(String[] args) throws MyException
  6.     {   
  7.                 int x,y;
  8.                 System.out.print("輸入分子: ");
  9.                 x=s.nextInt();
  10.                 System.out.print("輸入分母: ");
  11.                 y=s.nextInt();
  12.                 if(y==0)
  13.                         throw new MyException("分母不可為0");
  14.                 System.out.println(x+"/"+y+"="+(x/y));              
  15.     }
  16. }

  17. class MyException extends Exception    //繼承Exception  
  18. {
  19.         MyException(String s)   //MyException類別建構子
  20.         {
  21.                 super(s);
  22.         }
  23. }
複製代碼

  1. import java.util.Scanner;
  2. public class K
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     public static void main(String[] args) throws MyException
  6.     {   
  7.                 int x,y;
  8.                 System.out.print("輸入分子: ");
  9.                 x=s.nextInt();
  10.                 System.out.print("輸入分母: ");
  11.                 y=s.nextInt();
  12.                 if(y==0)
  13.                         throw new MyException("分母不可為0");
  14.                 System.out.println(x+"/"+y+"="+(x/y));              
  15.     }
  16. }
  17. class MyException extends Exception   
  18. {
  19.         MyException(String s)   
  20.         {
  21.                 super(s);
  22.         }
  23. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class B
  3. {
  4.         static Scanner s=new Scanner(System.in);
  5.         public static void main(String[] args) throws MyException
  6.         {
  7.                 int x,y;
  8.         System.out.print("輸入分子:");
  9.         x=s.nextInt();
  10.         System.out.print("輸入分母:");
  11.         y=s.nextInt();
  12.         if(y==0)
  13.             {
  14.                 throw new MyException("分母不可為0");
  15.                 }
  16.         System.out.println(x+"/"+y+"="+(x/y));
  17.         }
  18. }
  19. class MyException extends Exception
  20. {
  21.         MyException(String s)
  22.     {
  23.             super(s);
  24.     }
  25. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class Ch01
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     public static void main(String[] args) throws MyException
  6.     {   
  7.             int x,y;
  8.             System.out.print("輸入分子: ");
  9.             x=s.nextInt();
  10.             System.out.print("輸入分母: ");
  11.             y=s.nextInt();
  12.             if(y==0)
  13.                 throw new MyException("分母不可為0");
  14.                 System.out.println(x+"/"+y+"="+(x/y));              
  15.     }
  16. }
  17. class MyException extends Exception
  18. {
  19.     MyException(String s)   
  20.     {
  21.         super(s);
  22.     }
  23. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class Bobi
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     public static void main(String[] args) throws MyException
  6.     {   
  7.                 int x,y;
  8.                 System.out.print("輸入分子: ");
  9.                 x=s.nextInt();
  10.                 System.out.print("輸入分母: ");
  11.                 y=s.nextInt();
  12.                 if(y==0)
  13.                         throw new MyException("分母不可為0");
  14.                 System.out.println(x+"/"+y+"="+(x/y));              
  15.     }
  16. }

  17. class MyException extends Exception   
  18. {
  19.         MyException(String s)  
  20.         {
  21.                 super(s);
  22.         }
  23. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class Ch01
  3. {
  4.         static Scanner s=new Scanner(System.in);
  5.         public static void main(String[] args) throws MyException
  6.         {
  7.                 int i,j;
  8.         System.out.print("輸入分子:");
  9.         i=s.nextInt();
  10.         System.out.print("輸入分母:");
  11.         j=s.nextInt();
  12.         if(j==0)
  13.             {
  14.                 throw new MyException("分母不可為0");
  15.                 }
  16.         System.out.println(i+"/"+j+"="+(i/j));
  17.         }
  18. }
  19. class MyException extends Exception
  20. {
  21.         MyException(String s)
  22.     {
  23.             super(s);
  24.     }
  25. }
複製代碼

TOP

返回列表