異常-自定義異常的實現和測試
阿新 • • 發佈:2017-07-22
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 }
異常-自定義異常的實現和測試