異常的練習:
老師用電腦上課。
開始思考上課中出現的問題。
比如問題是
電腦藍屏。
電腦冒煙。
要對問題進行描述,封裝成對象。
可是當冒煙發生後,出現講課進度無法繼續。
出現了講師的問題:課時計劃無法完成。
class Teacher{ private Computer cmp; public void shangKe()throws NoPlanException /*聲明異常*/ { cmp=new Computer(); try { cmp.run(); } catch(LanPingException e) /*電腦捕獲處理藍屏的異常*/ { cmp.recst(); } catch(MaoYanException e) /*電腦捕獲處理電腦冒煙的異常*/ { throw new NoPlanException("上課無法繼續,因為"+e.getMessage()); /*電腦無法處理這個異常,繼續把這個異常拋給老師來處理*/ } System.out.println("老師上課"); /*沒有異常,老師就正常上課*/ }}class LanPingException extends Exception /*自訂藍屏異常*/{ LanPingException(String m) { super(m); }}class MaoYanException extends Exception /*自訂電腦冒煙異常*/{ MaoYanException(String m) { super(m); }}class NoPlanException extends Exception /*自訂老師處理異常*/{ NoPlanException(String m) { super(m); }}class Computer{ private int state=3; /*不同的異常狀態選擇*/ public void run()throws LanPingException,MaoYanException { if(state==2) { throw new LanPingException("電腦藍屏了"); /*符合條件就拋出異常對象*/ } if(state==3) { throw new MaoYanException("電腦冒煙了"); } System.out.println("電腦運行"); } public void recst() { System.out.println("電腦重啟"); }}class ExceptionText{ public static void main(String args[]) { Teacher t=new Teacher(); try { t.shangKe(); } catch(NoPlanException e) /*老師捕獲處理電腦冒煙異常*/ { System.out.println(e.toString()); } }}
運行結果:
NoPlanException: 上課無法繼續,因為電腦冒煙了
以上這篇java異常處理的簡單練習就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援雲棲社區。