返回列表 發帖

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

本帖最後由 tonyh 於 2019-8-31 14:39 編輯

除了捕捉Java拋出的例外物件,還可以利用關鍵字throw自行拋出例外物件。而若拋出的例外物件非系統能自行捕捉到,譬如自訂類別的例外,則需在方法宣告列後面利用關鍵字throws註明例外類別名稱,以便在指定的方法中拋出例外。

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     //若拋出的例外物件非系統能自行捕捉到,譬如自訂類別的例外物件,需在此註明
  6.     public static void main(String[] args) throws MyException
  7.     {   
  8.         float x,y;
  9.         System.out.print("輸入分子: ");
  10.         x=s.nextFloat();
  11.         System.out.print("輸入分母: ");
  12.         y=s.nextFloat();
  13.         if(y==0)
  14.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  15.         System.out.println(x+"/"+y+"="+(x/y));
  16.     }
  17. }
  18. class MyException extends Exception
  19. {
  20.     MyException(String str)
  21.     {
  22.         super(str);   //呼叫父類別的建構子
  23.     }
  24. }
複製代碼

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     //若拋出的例外物件非系統能自行捕捉到,譬如自訂類別的例外物件,需在此註明
  6.     public static void main(String[] args) throws MyException
  7.     {   
  8.         float x,y;
  9.         System.out.print("輸入分子: ");
  10.         x=s.nextFloat();
  11.         System.out.print("輸入分母: ");
  12.         y=s.nextFloat();
  13.         if(y==0)
  14.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  15.         System.out.println(x+"/"+y+"="+(x/y));
  16.     }
  17. }
  18. class MyException extends Exception
  19. {
  20.     MyException(String str)
  21.     {
  22.         super(str);   //呼叫父類別的建構子
  23.     }
  24. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     //若拋出的例外物件非系統能自行捕捉到,譬如自訂類別的例外物件,需在此註明
  6.     public static void main(String[] args) throws MyException
  7.     {   
  8.         float x,y;
  9.         System.out.print("輸入分子: ");
  10.         x=s.nextFloat();
  11.         System.out.print("輸入分母: ");
  12.         y=s.nextFloat();
  13.         if(y==0)
  14.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  15.         System.out.println(x+"/"+y+"="+(x/y));
  16.     }
  17. }
  18. class MyException extends Exception
  19. {
  20.     MyException(String str)
  21.     {
  22.         super(str);   //呼叫父類別的建構子
  23.     }
  24. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class Ch5
  3. {
  4.     static Scanner s=new Scanner(System.in);

  5.     public static void main(String[] args) throws MyException
  6.     {   
  7.         float x,y;
  8.         System.out.print("輸入分子: ");
  9.         x=s.nextFloat();
  10.         System.out.print("輸入分母: ");
  11.         y=s.nextFloat();
  12.         if(y==0)
  13.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  14.         System.out.println(x+"/"+y+"="+(x/y));
  15.     }
  16. }
  17. class MyException extends Exception
  18. {
  19.     MyException(String str)
  20.     {
  21.         super(str);  
  22.     }
  23. }
複製代碼

TOP

本帖最後由 高睿辰 於 2018-1-20 10:43 編輯
  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     //若拋出的例外物件非系統能自行捕捉到,譬如自訂類別的例外物件,需在此註明
  6.     public static void main(String[] args) throws MyException
  7.     {   
  8.         float x,y;
  9.         System.out.print("輸入分子: ");
  10.         x=s.nextFloat();
  11.         System.out.print("輸入分母: ");
  12.         y=s.nextFloat();
  13.         if(y==0)
  14.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  15.         System.out.println(x+"/"+y+"="+(x/y));
  16.     }
  17. }
  18. class MyException extends Exception
  19. {
  20.     MyException(String str)
  21.     {
  22.         super(str);
  23.     }
  24. }
複製代碼

TOP

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

TOP

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     //若拋出的例外物件非系統能自行捕捉到,譬如自訂類別的例外物件,需在此註明
  6.     public static void main(String[] args) throws MyException
  7.     {   
  8.         float x,y;
  9.         System.out.print("輸入分子: ");
  10.         x=s.nextFloat();
  11.         System.out.print("輸入分母: ");
  12.         y=s.nextFloat();
  13.         if(y==0)
  14.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  15.         System.out.println(x+"/"+y+"="+(x/y));
  16.     }
  17. }
  18. class MyException extends Exception
  19. {
  20.     MyException(String str)
  21.     {
  22.         super(str);   //呼叫父類別的建構子
  23.     }
  24. }
複製代碼

TOP

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

TOP

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

TOP

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     //若拋出的例外物件非系統能自行捕捉到,譬如自訂類別的例外物件,需在此註明
  6.     public static void main(String[] args) throws MyException
  7.     {   
  8.         float x,y;
  9.         System.out.print("輸入分子: ");
  10.         x=s.nextFloat();
  11.         System.out.print("輸入分母: ");
  12.         y=s.nextFloat();
  13.         if(y==0)
  14.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  15.         System.out.println(x+"/"+y+"="+(x/y));
  16.     }
  17. }
  18. class MyException extends Exception
  19. {
  20.     MyException(String str)
  21.     {
  22.         super(str);   //呼叫父類別的建構子
  23.     }
  24. }
複製代碼

TOP

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

TOP

返回列表