java基礎--自定義異常使用練習
阿新 • • 發佈:2018-03-04
heron dex oat try ssa color epo 原因 str
個人認為首先要知道兩點:
1.異常的父類為 Throwable
2.錯誤、異常總共分為三類,但需要程序處理的只有一種
現在寫一個小例子:
需求:敵我雙方各自英雄進行攻擊,如果某方生命值達到0,對方再攻擊,則報出英雄已死,無法繼續攻擊的異常:
1 package javatest; 2 3 class EnemyHeroIsDeadException extends Exception { 4 public EnemyHeroIsDeadException() {} 5 6 public EnemyHeroIsDeadException(String msg) {7 super(msg); 8 } 9 } 10 11 public class Hero { 12 public String heroName; 13 protected float lifePoint; 14 15 public void attackHero(Hero h) throws EnemyHeroIsDeadException { 16 if (h.lifePoint == 0) { 17 throw new EnemyHeroIsDeadException(h.heroName + " hero has been dead");18 } 19 } 20 21 public String toString() { 22 return heroName; 23 } 24 25 public static void main(String[] args) throws EnemyHeroIsDeadException { 26 Hero galan = new Hero(); 27 galan.heroName = "galan"; 28 galan.lifePoint =0; 29 30Hero mike = new Hero(); 31 mike.heroName = "mike"; 32 mike.lifePoint =10; 33 34 try { 35 mike.attackHero(galan); 36 } catch (EnemyHeroIsDeadException e) { 37 System.out.println("具體原因 " + e.getMessage()); 38 e.printStackTrace(); 39 } 40 } 41 }
上面這段代碼顯示了編寫自定義異常的一個流程:
1.寫一個異常類,繼承Exception
2.在調用的地方,用try catch捕捉自定義異常
3.在try中調用可能拋異常的語句
java基礎--自定義異常使用練習