开发者社区 问答 正文

异常类MyException问题

编写一个异常类MyException,再编写一个类Student,该类有一个产生异常的方法public void speak(int m) throws MyException,要求参数m的值大于1000时,方法抛出一个MyException对象。最后编写主类,在主类的main方法中用Student创建一个对象s,该对象调用speak方法。

展开
收起
苍霞学子 2021-10-21 10:57:13 2165 分享 版权
阿里云 AI 助理回答

根据您的要求,下面分别展示了如何定义一个自定义异常类MyException,创建一个包含可能抛出该异常方法的Student类,以及在主类中使用这些类的示例代码。请注意,这里主要关注Java语言的实现方式。

自定义异常类 MyException

首先,定义一个继承自Exception类的自定义异常类MyException

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

Student 类

接着,创建一个Student类,其中包含一个名为speak的方法,该方法接受一个整数参数m。当m大于1000时,方法会抛出一个MyException对象。

public class Student {
    public void speak(int m) throws MyException {
        if (m > 1000) {
            throw new MyException("数值超过1000,产生异常!");
        } else {
            System.out.println("学生说话的内容...");
        }
    }
}

主类 MainClass

最后,编写一个主类MainClass,在main方法中创建Student对象并调用其speak方法。为了处理可能发生的异常,需要将调用放在try-catch块中。

public class MainClass {
    public static void main(String[] args) {
        Student s = new Student();
        try {
            s.speak(1500); // 这里尝试传递一个大于1000的值,预期会抛出异常
        } catch (MyException e) {
            System.out.println("捕获到异常:" + e.getMessage());
        }
        
        // 可以添加额外的测试,比如传递一个不大于1000的值
        try {
            s.speak(500); // 正常情况,不会抛出异常
        } catch (MyException e) {
            System.out.println("捕获到异常:" + e.getMessage());
        }
    }
}

这段代码完整地展示了如何定义自定义异常、在方法中抛出异常以及如何在主程序中捕获和处理这个异常。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址: