1

对于家庭作业,我必须开发一个异常代码:

“使用继承创建异常的超类调用ExceptionA,以及异常的两个子类调用ExceptionBand ExceptionC,where ExceptionB extends ExceptionA,and ExceptionC extends ExceptionB。开发一个程序来证明该类型的catch块可以捕获and的ExceptionA异常”。ExceptionBExceptionC

我不明白该怎么做。

4

3 回答 3

4

假装这是一个无性繁殖事物的家族,称为异常。

家谱

异常 C 是异常 B 的儿子/女儿(我什至叫他们什么),异常 B 是异常 A 的儿子/女儿,异常 A 是异常的儿子/女儿。异常C继承了异常B的基因,继承了异常A的基因,等等。

你的老师希望你做的是表明你可以使用与“捕捉”异常 A 相同的方法来“捕捉”异常 C。因此,您将使用 try/catch 语句和 throw 语句(生成异常)。

于 2012-10-09T01:27:04.200 回答
3

这是一个非常简单的代码。你可以进一步提高你的学习。

创建异常ExceptionA并定义 require 构造函数和方法:

    public class ExceptionA extends Exception {

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

创建异常 ExceptionB 并定义 require 构造函数和方法:

    public class ExceptionB extends ExceptionA {

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

创建异常 ExceptionC 并定义 require 构造函数和方法:

    public class ExceptionC extends ExceptionB {

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

创建TestException捕获ExceptionBExceptionC使用的类,ExceptionA如下所示:

    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");
        }

    }
于 2012-10-09T01:18:08.637 回答
0

我希望它是:使用继承来创建一个名为 ExceptionA 的 Exception 子类。

所以,来帮助你。

异常->异常A->异常B->异常C

所以,如果我想创建一个 Object 类型的子类,那么: public class ObjectA extends Object { // 在这里放新方法 }

因此,请尝试创建您的子类,然后在遇到困难时显示一些代码。

这可能会对您有所帮助,但请不要将答案复制为您的作业:

如何在 Java 中定义自定义异常类,最简单的方法?

于 2012-10-09T01:10:58.643 回答