2012-10-09 89 views
1

超類家庭作業,我要開發一個異常的代碼:處理異常在Java中使用

「用繼承來創建一個名爲ExceptionA異常的父類,並呼籲ExceptionBExceptionC例外,其中ExceptionB extends ExceptionA的兩個子類,和ExceptionC extends ExceptionB。開發一個程序來證明ExceptionA類型的catch塊捕獲ExceptionBExceptionC的異常「。

我不明白如何做到這一點。

+1

那麼,創建'Exception'的超類是不可能的,所以應該是一個子類。公寓從此,http://docs.oracle.com/javase/tutorial/essential/exceptions/index.html – madth3

回答

3

這是一個非常簡單的代碼。你可以進一步提高你的學習。

創建例外ExceptionA和定義需要構造函數和方法:

public class ExceptionA extends Exception { 

     public ExceptionA(String message){ 
      super(message); 
     } 
    } 

創建例外ExceptionB和定義需要構造函數和方法:

public class ExceptionB extends ExceptionA { 

     public ExceptionB(String message){ 
      super(message); 
     } 
    } 

創建例外ExceptionC和定義需要構造函數和方法:

public class ExceptionC extends ExceptionB { 

     public ExceptionC(String message){ 
      super(message); 
     } 
    } 

創建TestException類,如下使用ExceptionA其捕獲ExceptionBExceptionC

public class TestException { 

     public static void main(String[] args){ 

      try{ 
       getExceptionB(); 
      }catch(ExceptionA ea){ 
       ea.printStackTrace(); 
      } 

      try{ 
       getExceptionC(); 
      }catch(ExceptionA ea){ 
       ea.printStackTrace(); 
      } 

     } 

     public static void getExceptionB() throws ExceptionB{ 
      throw new ExceptionB("Exception B"); 
     } 

     public static void getExceptionC() throws ExceptionC{ 
      throw new ExceptionC("Exception C"); 
     } 

    } 
+0

我愛你,現在明白了,在創建這篇文章之前,我確實得到了繼承的東西,但你清除了我的懷疑例外的執行情況。 – OHHH

0

我期望它是: 使用繼承來創建Exception的一個子類ExceptionA。

所以,幫助你。

例外 - > ExceptionA - > ExceptionB - > ExceptionC

所以,如果我想創建一個Object類型的子類,則: 公共類對象A擴展對象{// 提出了新的方法,在這裏 }

因此,嘗試創建您的子類,然後顯示一些代碼,如果你卡住了。

這可能會幫助你,但請你不要答案複製爲你的任務:

How to define custom exception class in Java, the easiest way?

3

假裝這是無性再生東西叫做例外家庭。

Family Tree

異常C是例外B,誰是例外,誰是例外的兒子/女兒的兒子/女兒的兒子/女兒(什麼我甚至打電話給他們)。異常C遺傳異常B的基因,從異常A繼承基因等。

您的老師希望您做的事情是表明您可以「捕捉」異常C的使用相同的方法,您正在使用的「catch 「例外A的。所以你會使用try/catch語句並拋出語句(以產生異常)。