自定义异常怎么创建

1 创建

首先根据你的需要,选择继承成哪个异常类。

一般继承Exception或它的某个子类。

如果你的父类是RuntimeException,那么这个自定义异常是非受检异常(编写时,不需要程序员处理)。

如果你的父类是Exception或其他的某个子类,那么这个自定义异常是受检异常(编写时,需要程序员处理)。

其次,如果你没有使用lombok的注解,就需要自己手动写构造函数:

public class ZdyException extends RuntimeException{
    public ZdyException(String message){
        //直接调用父类的构造方法
        super(message);
    }
}

如果你用了lombok的注解,那就比较简单了:

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ZdyException extends RuntimeException{
    //错误信息
     public String message;
}

当然,如果你需要更便捷传递参数,比如Throwable cause,可能用构造函数更方便点。

因为使用 @Data @AllArgsConstructor @NoArgsConstructor 注解方式生成的构造函数会包含所有字段,生成的构造函数会强制要求传递所有字段的值。

2 使用

在使用的时候,可以在try/catch里根据自己需要抛出该异常。

public static void main(String[] args) {
    int a = 1;
    try {
        //执行业务逻辑
        int b = a + 1;
        if( b > 1){
            //抛出自定义异常
            throw new ZdyException("出错");
        }
    } catch (ZdyException e) {
        System.out.println("捕捉到ZdyException");
    }
}

3 关于catch的几点补充(待补充)

你可能感兴趣的:(java,开发语言)