使用java內置的異常類可以描述在編程時出現的大部分異常情況
也可以通過自定義異常描述特定業務產生的異常類型
所謂自定義異常,就是定義一個類,去繼承Throwable類作者它的子類
例子:針對酒店不允許18歲以下,80歲以上的用戶單獨入住,定義一個異常類
package com.mpp.test; //定義一個酒店年齡限制的異常類,繼承Exception public class HotelAgeException extends Exception { //無參構造,完成異常信息描述 public HotelAgeException(){ //調用父類的帶參構造??? super("18歲以下,80歲以上的住客必須由親友陪同"); } }
拋出自定義異常類
package com.mpp.test; import java.util.Scanner; public class TryDemoFour { public static void main(String[] args) { try { testAge(); } catch (HotelAgeException e) { System.out.println(e.getMessage()); //顯示異常信息 System.out.println("酒店前台工作人員不允許辦理入住登記"); }catch (Exception e){ e.printStackTrace(); } } public static void testAge() throws HotelAgeException { System.out.println("請輸入年齡:"); Scanner input = new Scanner(System.in); int age = input.nextInt(); if (age < 18 || age > 80) { throw new HotelAgeException(); //拋出自定義的異常類 } else { System.out.println("歡迎入住本酒店"); } } }