【中国大学MOOC】java程序设计-week6-自定义一个异常类,注意其继承自系统的异常类,并要求有构造方法

    科技2025-05-23  42

    1.题目

    Java的异常是比较独特的,它是程序安全稳定的重要措施。本次作业要求自定义异常并使用异常。

    (1)自定义一个异常类,注意其继承自系统的异常类,并要求有构造方法;

    (2)使用自定义的异常:要求在一个函数中抛出异常,在另一段程序中调用这个函数并捕获异常。

    评分标准:

    自定义异常类,继承自系统的异常(2分);

    异常类有构造方法(2分);

    异常类的构造方法中有一个链接内部异常(1分);

    有抛出异常(1分);

    在抛出异常的方法中有声明throws异常(1分);

    有异常捕获和处理(2分);

    整体程序比较合理(1分)。

    2.题解

    /** * 检测输入的学生成绩是否在合理范围,如果,不在合理范围,则抛出异常并解释原因 */ public class homework5 { public static void main(String[] args) { int score = 105; System.out.println("输入该学生成绩为:" + score); try { ScoreOfStudent.getScore(score); }catch(Exception e){ System.out.println("出现错误:"+e); System.out.println("原因:"+e.getCause()); } } } class DataHomeException extends Exception{ public DataHomeException(String message){super (message);} } // 1. 定义异常类,继承自系统的异常 // 2. 异常类有构造方法 // 3. 异常类的构造方法中有一个链接内部异常 class ScoreException extends Exception{ public ScoreException(String message, Exception cause){super(message, cause);} } class DataHome{ public static void cheekData(int data) throws DataHomeException { if(data>=0 && data<=100) System.out.println("检测分数为"+data); else throw new DataHomeException("分数超过1-100范围"); } } // 4. 有抛出异常 // 5. 在抛出异常的方法中有声明throws异常 // 6. 有异常捕获和处理 class ScoreOfStudent{ public static void getScore(int score) throws ScoreException { try{ DataHome.cheekData(score); }catch(DataHomeException e){ throw new ScoreException("分数不符合要求", e); } } }
    Processed: 0.009, SQL: 8