📜  门| GATE-CS-2004 |第 64 题(1)

📅  最后修改于: 2023-12-03 15:12:40.764000             🧑  作者: Mango

GATE-CS-2004 | 第64题

本题是对Java异常和继承关系的考察。我们需要完成一个程序的编写和调试。

题目描述

程序的要求为,在Java中设计一个异常类MyException,使它继承自Exception类。然后设定一个方法compute(),通过计算返回一个数字。在该方法中,如果数字为0,就抛出MyException异常类的一个对象,否则返回计算结果。在主函数中,调用compute()方法,捕获异常并输出异常信息。

解题思路

首先,我们需要定义一个MyException类,继承自Exception类。这可以通过如下的Java代码完成:

class MyException extends Exception {
    public MyException() {}
    public MyException(String message) {
        super(message);
    }
}

接下来,在MyException类中定义我们需要的compute()方法,并在该方法中抛出MyException异常:

public int compute() throws MyException {
    int result = -1;
    // 进行一些计算,并得出result的值
    if (result == 0) {
        throw new MyException("Oops! Something went wrong.");
    } else {
        return result;
    }
}

最后,在主函数中调用compute()方法,并捕获MyException异常并输出异常信息:

try {
    int result = compute();
    System.out.println("The result is: " + result);
} catch (MyException e) {
    System.out.println("Caught an exception: " + e.getMessage());
}
总结

通过上述的代码,我们可以完成本题的要求。同时,在编写Java程序时,我们需要注意一些细节,如类的声明、构造函数的定义、继承关系、方法的声明与实现、异常的抛出与处理等等。只有细心认真,才能写出稳定可靠的程序。