java_自定义异常

自定义异常格式:

public class 异常类名 extends Exception {
    无参构造
    带参构造
}

实例:

首先自定义一个分数异常类 ScoreException

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

然后创建一个Teacher类 继承 ScoreException类

public class Teacher {
    public void checkScore(int score) throws ScoreException {
        if(score>=0&&score<=100) {
            System.out.println("分数正常");
        }else{
//            throw new ScoreException(); //
            throw new ScoreException("分数输入有误,应在0-100之间!");
        }
    }
}

然后验证自定义异常是否正确

public class TeacherTest {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入分数: ");
        int score = sc.nextInt();

        Teacher t = new Teacher();
//        t.checkScore(score); // Alt + Enter 选择 try/catch 选项
        try {
            t.checkScore(score);
        } catch (ScoreException e) {
            e.printStackTrace();
        }
    }
}

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 设置为"分数不合法";一个公有的有参数的构造方法,参数为string类型,用于设置message的值;一个公有的重载了toString方法的方法,返回message的值。 代码如下: ```java public class ScoreException extends Exception { private String message; public ScoreException() { this.message = "分数不合法"; } public ScoreException(String message) { this.message = message; } @Override public String toString() { return message; } } ``` ### 回答2: 自定义异常类是在程序开发过程中非常常见的操作。实际上,我们可以通过自定义异常类,使得程序开发更加灵活、可扩展。本文将介绍如何自定义一个异常类scoreexception,继承自exception类。该异常类有一个私有成员变量message(异常提示信息,string类型),还有一个公有的无参数的构造方法,在该方法中将message的值设置为“分数错误”。 1.自定义异常类scoreexception,继承自exception类 自定义一个异常类首先需要继承自exception类。通过继承,可以使用exception类提供的基本属性和方法,使用起来更加方便。本文中需要定义异常提示信息,因此需要添加私有成员变量message。 ``` class scoreexception: public exception { private: string message; public: scoreexception(string msg) :message(msg){ }; virtual const char* what() const throw() { return message.c_str(); } }; ``` 2.添加私有的成员变量message 在scoreexception类中,添加一个私有的成员变量message。该成员变量的属性为string类型,用于存储异常提示信息。 ``` class scoreexception: public exception { private: string message; public: scoreexception(string msg) :message(msg){ }; virtual const char* what() const throw() { return message.c_str(); } }; ``` 3.公有的无参数的构造方法,在方法中将message的值 在scoreexception类中,添加一个公有的无参数的构造方法。该方法的作用是初始化message的值。在本例中,将message的值初始化为“分数错误”。 ``` class scoreexception: public exception { private: string message; public: scoreexception() :message("分数错误"){ }; virtual const char* what() const throw() { return message.c_str(); } }; ``` 以上就是自定义异常类scoreexception的全部实现。通过继承自exception类,可以让scoreexception类提供更多的异常处理方法,提高程序的健壮性和可靠性。在实际开发中,我们可以对scoreexception类进行扩展,添加更多的属性和方法,从而适应更多的业务需求。 ### 回答3: 在Java语言中,自定义异常类是非常常见的编程技巧。当程序中出现不符合要求的情况时,可以通过抛出自定义异常来提醒程序员或用户。以下是一个自定义异常类scoreexception的实现过程。 首先,创建一个scoreexception类并继承自Java语言自带的Exception类,代码如下: ```java public class scoreexception extends Exception { private String message; // 异常提示信息 public scoreexception(String message) { this.message = message; } // 构造方法,将message的值 public String toString() { return "scoreexception: " + message; } // 覆盖toString()方法,返回异常信息 } ``` 在scoreexception类中,定义了一个私有的成员变量message,它是一个字符串类型的异常提示信息。此外,还定义了一个公有的无参数的构造方法,在方法中将message的值初始化。在这里,我们使用了this关键字来引用当前对象,以区分message变量和方法参数message。 在构造方法中,我们只需要让message变量等于方法参数message即可。这里采用了相同的命名方式,因为在构造方法中使用了this关键字,实际上是将参数message赋值给成员变量message,而这两个message变量是同一个变量。 最后,我们在scoreexception类中覆盖了Exception类的toString()方法,以在打印异常信息时输出我们定义的提示信息。 自定义异常类的优点在于,可以针对不同的异常情况定义不同的异常类,从而提高程序的可读性和可维护性。此外,自定义异常类还可以方便地传递和处理异常,让程序更加健壮和稳定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值