1. 程式人生 > >java基礎--自定義異常使用練習

java基礎--自定義異常使用練習

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 30
Hero 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基礎--自定義異常使用練習