2012-10-09 53 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语句并抛出语句(以产生异常)。