java在己有的类创子类怎么创_使用Java创建自己的异常子类...
盡管java的內置異常處理大多數常見錯誤,你也許希望建立你自己的異常類型來處理你所應用的特殊情況。這是非常簡單的:只要定義Exception的一個子類就可以了(Exception當然是Throwable的一個子類)。你的子類不需要實際執行什么——它們在類型系統中的存在允許你把它們當成異常使用。
Exception類自己沒有定義任何方法。當然,它繼承了Throwable提供的一些方法。因此,所有異常,包括你創建的,都可以獲得Throwable定義的方法。這些方法顯示在表10-3中。你還可以在你創建的異常類中覆蓋一個或多個這樣的方法。
表 10-3 Throwable 定義的方法
下面的例子聲明了Exception的一個新子類,然后該子類當作方法中出錯情形的信號。它重載了toString( )方法,這樣可以用println( )顯示異常的描述。
// This program creates a custom exception type.
class MyException extends Exception {
private int detail;
MyException(int a) {
detail = a;
}
public String toString() {
return "MyException[" + detail + "]";
}
}
class ExceptionDemo {
static void compute(int a) throws MyException {
System.out.println("Called compute(" + a + ")");
if(a > 10)
throw new MyException(a);
System.out.println("Normal exit");
}
public static void main(String args[]) {
try {
compute(1);
compute(20);
} catch (MyException e) {
System.out.println("Caught " + e);
}
}
}
該例題定義了Exception的一個子類MyException。該子類非常簡單:它只含有一個構造函數和一個重載的顯示異常值的toString( )方法。ExceptionDemo類定義了一個compute( )方法。該方法拋出一個MyException對象。當compute( )的整型參數比10大時該異常被引發。
main( )方法為MyException設立了一個異常處理程序,然后用一個合法的值和不合法的值調用compute( )來顯示執行經過代碼的不同路徑。下面是結果:
Called compute(1)
Normal exit
Called compute(20)
Caught MyException[20]
總結
以上是生活随笔為你收集整理的java在己有的类创子类怎么创_使用Java创建自己的异常子类...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中如何安装django库_p
- 下一篇: hashset java 键值对_Jav