標籤:
自訂異常:
考試成績必須在0-100之間 很明顯java沒有對應的異常,需要我們自己來做一個異常
自訂異常
繼承自Exception
繼承自RuntimeException
下面是一個程式碼範例:
package cn.itcast_08;/* * java不可能對所有的情況都考慮到,所以,在實際的開發中,我們可能需要自己定義異常。 * 而我們自己隨意的寫一個類,是不能作為異常類來看的,要想你的類是一個異常類,就必須繼承自Exception或者RuntimeException * * 兩種方式: * A:繼承Exception * B:繼承RuntimeException */public class MyException extends Exception { public MyException() { } public MyException(String message) {//這裡自訂的異常如果我們不知道怎麼利用構造方法賦值,就追隨到父類(平級類)原始碼看人家怎麼處理 super(message); }}// public class MyException extends RuntimeException {//// }
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繼承自RuntimeException13 // 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 }
Android(java)學習筆記84:自訂異常類