Java高级语法笔记-自定义异常类
生活随笔
收集整理的這篇文章主要介紹了
Java高级语法笔记-自定义异常类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
自定義異常類
繼承Exception,自定義異常類: 異常類要能夠描述錯誤信息
比如,非法字符異常 IllegalCharException應該把非法字符的位置帶上。
throws多種異常
throws用于聲明本函數可能產生的異常的種類
void parse(String s) throws IllegalCharException,BadFromatException{
}
各異常類以逗號分隔
異常的匹配
根據拋出的異常對象的類型,從前往后匹配catch語句。
- 若匹配成功,則其他的catch不再匹配.
- 若全不匹配,則繼承向上層函數拋出。
異常的匹配
怎么才算是匹配成功?假設拋出的對象類型為EA
catch(EX e)
{
}
如果EA與EX類型相同,或是EX的子類,則匹配成功.怎么抓獲所有類型的異常?
catch( Exception e)
{
}
HelloWorld.java package my;public class HelloWorld {public static void main(String[] args){ Date d=new Date();try {d.parse("2016B-12-1");System.out.println("日期為:"+d.toString());}catch(IllegalCharException e) {System.out.println(e.getMessage());}catch(BadFormatException e) {System.out.println(e.getMessage());}catch(BadRangeException e) {System.out.println(e.getMessage());}catch(Exception e) {}} }
IllegalCharException.java package my;public class IllegalCharException extends Exception {int position=0;public IllegalCharException(int pos) {this.position=pos;}@Overridepublic String getMessage(){return "非法字符("+position+")";}public int getPosition() {return position;} }
運行結果如下:
繼承Exception,自定義異常類: 異常類要能夠描述錯誤信息
比如,非法字符異常 IllegalCharException應該把非法字符的位置帶上。
throws多種異常
throws用于聲明本函數可能產生的異常的種類
void parse(String s) throws IllegalCharException,BadFromatException{
}
各異常類以逗號分隔
異常的匹配
根據拋出的異常對象的類型,從前往后匹配catch語句。
- 若匹配成功,則其他的catch不再匹配.
- 若全不匹配,則繼承向上層函數拋出。
異常的匹配
怎么才算是匹配成功?假設拋出的對象類型為EA
catch(EX e)
{
}
如果EA與EX類型相同,或是EX的子類,則匹配成功.怎么抓獲所有類型的異常?
catch( Exception e)
{
}
由于Exception類是所有異常的父類,所以用這個肯定能捕獲異常。(相當于default處理)
代碼如下:
BadFormatException.java
package my;public class BadFormatException extends Exception {String reason;public BadFormatException(String reason) {this.reason=reason;}@Overridepublic String getMessage(){return "格式錯誤("+reason+")";} }
HelloWorld.java package my;public class HelloWorld {public static void main(String[] args){ Date d=new Date();try {d.parse("2016B-12-1");System.out.println("日期為:"+d.toString());}catch(IllegalCharException e) {System.out.println(e.getMessage());}catch(BadFormatException e) {System.out.println(e.getMessage());}catch(BadRangeException e) {System.out.println(e.getMessage());}catch(Exception e) {}} }
IllegalCharException.java package my;public class IllegalCharException extends Exception {int position=0;public IllegalCharException(int pos) {this.position=pos;}@Overridepublic String getMessage(){return "非法字符("+position+")";}public int getPosition() {return position;} }
運行結果如下:
總結
以上是生活随笔為你收集整理的Java高级语法笔记-自定义异常类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现电子词典_它是一部电子词典,一部翻译
- 下一篇: 5.6m元多项式的表示