本文是對本身學習JAVA方面一個總結,大多數涉及到JAVA基礎知識方面的總結。本文探討如何自定義異常以及使用自定義的異常。JAVA異常機制能夠保證程序更安全和更健壯。雖然說Java類庫已經提供不少能夠直接處理異常的類,可是有時候爲了更加精準地捕獲和處理異常以呈現更好的用戶體驗,須要開發者自定義異常。。java
在進行程序開發的過程當中,自定義異常遵循如下四個步驟:安全
1)首先建立自定義異常類,語法格式:自定義異常類名 extends Exception。學習
2)在方法中經過關鍵字throw拋出異常對象。測試
3)如果在當前拋出異常的方法中處理異常,能夠用try-catch語句捕獲並處理;若不是,在方法的聲明處經過關鍵字throws指明要拋出給方法調用的異常。spa
4)在出現異常方法的調用中捕獲並處理異常。設計
接下來,經過一個簡單的程序來講明自定義異常和使用自定義異常。orm
首先建立自定義異常類,代碼以下:對象
/** *<p>Titlt:自定義異常類NumeratorIsZeroException</p> *<p>Description:分子爲零的異常</p> *<p>Copyright:copyright(c) 2012</p> *<p>Filename:NumeratorIsZeroException.java</p> *@author Wang Luqing *@version 1.0 */ class NumeratorIsZeroException extends Exception { public NumeratorIsZeroException(String msg) { super(msg); } } |
接下來,使用自定義異常類,代碼以下:ip
/** *<p>Titlt:設計類Number/p> *<p>Description:類中有除法計算方法</p> *<p>Copyright:copyright(c) 2012</p> *<p>Filename:Number.java</p> *@author Wang Luqing *@version 1.0 */ public class Number { public int divition(int iNum1,int iNum2) throws NumeratorIsZeroException { if(0 == iNum2) { throw new NumeratorIsZeroException("分子不能爲零。"); } return (iNum1/iNum2); } } |
/** *<p>Titlt:設計類Test</p> *<p>Description:測試自定義的異常類</p> *<p>Copyright:copyright(c) 2012</p> *<p>Filename:Test.java</p> *@authorWang Luqing *@version1.0 */ public class Test { public static void main(String[] args) { Number num = new Number(); try { System.out.println("商:" + num.divition(12,0)); } catch(NumeratorIsZeroException e) { System.out.println(e.getMessage()); e.printStackTrace(); } catch(Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } } } |
運行結果以下所示:開發
分子不能爲零。
NumeratorIsZeroException:分子不能爲零。
at Number.divition(Number.java:15)
at Test.main(Test.java:17)
總結:
1)根據上述代碼關鍵點概括,自定義異常類,標識可能拋出的異常,捕獲和處理異常。
2)getMessage():輸出異常的信息;printStackTrace():輸出致使異常的詳細信息。
3)設計和利用好自定義異常,使得異常的處理更靈活和精準。
PS:若有什麼問題,請直接到羣457036818提出