1. 程式人生 > >異常-自定義異常的實現和測試

異常-自定義異常的實現和測試

trace message alt exc 異常 runt stack com code

 1 考試成績必須在0-100之間
 2 很明顯java沒有對應的異常,需要我們自己來做一個異常
 3 自定義異常
 4 繼承自Exception
 5 繼承自RuntimeException
 6 
 7 package cn.itcast_08;
 8 
 9 /*
10  * java不可能對所有的情況都考慮到,所以,在實際的開發中,我們可能需要自己定義異常。
11  * 而我們自己隨意的寫一個類,是不能作為異常類來看的,要想你的類是一個異常類,就必須繼承自Exception或者RuntimeException
12  * 
13  * 兩種方式:
14  * A:繼承Exception,編譯期異常
15 * B:繼承RuntimeException,運行期異常 16 */ 17 public class MyException extends Exception { 18 public MyException() { 19 } 20 21 public MyException(String message) { 22 super(message); 23 } 24 } 25 26 // public class MyException extends RuntimeException { 27 // 28 // }
 1 package cn.itcast_08;
2 3 public class Teacher { 4 public void check(int score) throws MyException { 5 if (score > 100 || score < 0) { 6 throw new MyException("分數必須在0-100之間"); 7 } else { 8 System.out.println("分數沒有問題"); 9 } 10 } 11 12 // 針對MyException繼承自RuntimeException
13 // public void check(int score) { 14 // if (score > 100 || score < 0) { 15 // throw new MyException(); 16 // } else { 17 // System.out.println("分數沒有問題"); 18 // } 19 // } 20 }
 1 package cn.itcast_08;
 2 
 3 import java.util.Scanner;
 4 
 5 /*
 6  * 自定義異常測試類
 7  */
 8 public class StudentDemo {
 9     public static void main(String[] args) {
10         Scanner sc = new Scanner(System.in);
11         System.out.println("請輸入學生成績:");
12         int score = sc.nextInt();
13 
14         Teacher t = new Teacher();
15         try {
16             t.check(score);
17         } catch (MyException e) {
18             e.printStackTrace();
19         }
20     }
21 }

技術分享

異常-自定義異常的實現和測試