Java中如何自定义一个异常类

java中可以自定义异常类吗?

1、SUN公司提供的JDK内置的异常类肯定是不够用的。在实际开发中,有很多业务,这些业务出现异常之后,JDK中都是没有的,和业务挂钩的。那么异常类我们可以自己定义吗?

答案是可以的。


2、java中怎么自定义异常类?

    第一步:编写一个类,继承Exception,或者继承RuntimeException,看你是自定义编译时异常,还是自定义运行时异常; 第二步:提供两个构造方法,一个无参数构造方法,一个带有String s参数的。有参数方法体中写super(s)即可。

测试代码:

public class Test13 {
          
   
    public static void main(String[] args) {
          
   
        // 创建自定义异常类的实例,并不抛出
        MyStackOperatorException e = new MyStackOperatorException("栈操作有误");
        String msg = e.getMessage();
        System.out.println(msg);  // 栈操作有误
        e.printStackTrace();  // exception.MyStackOperatorException: 栈操作有误 
        
}

// 自定义异常类
class MyStackOperatorException extends Exception {
          
   
    public MyStackOperatorException() {
          
   
    }
    
    public MyStackOperatorException(String s) {
          
   
        super(s);
    }
}

经验分享 程序员 微信小程序 职场和发展