📜  Java自定义异常(1)

📅  最后修改于: 2023-12-03 14:43:04.746000             🧑  作者: Mango

Java自定义异常

Java自定义异常是指,在Java程序中我们可以根据需要自己定义异常类,从而实现对程序中特定异常情况的捕获、处理或抛出等操作。相比Java预定义异常,自定义异常类更加精准,可读性更高,也能使程序更加灵活、可维护。

自定义异常类的定义

自定义异常类可以继承已有的Java内部的异常类,比如RuntimeException和Exception等,也可以继承他们的子类,然后增加一些特定的属性和方法,这些属性和方法可以根据需求灵活定义。

下面是一个简单的自定义异常类的定义:

public class CustomException extends Exception {
    private int code;
    private String msg;

    public CustomException(int code, String msg) {
        super(msg);
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return this.code;
    }

    public String getMsg() {
        return this.msg;
    }
}

以上代码中,CustomException继承自Exception类,增加了两个属性(code和msg)以及两个对应的getter方法,构造方法中传入这两个参数,初始化属性。

自定义异常类的使用

在程序中,我们可以通过throw关键字抛出自定义异常,然后在catch块中进行异常处理。

下面是一个简单的例子:

public class TestException {
    public static void main(String[] args) {
        try {
            throw new CustomException(400, "Bad Request");
        } catch (CustomException e) {
            System.out.println(e.getCode() + ":" + e.getMsg());
        }
    }
}

以上代码中,我们通过throw关键字抛出一个CustomException异常实例,然后在程序中进行处理,捕获该自定义异常并输出异常信息。

自定义异常类与其他Java内部异常类的对比

相比Java内部的异常类,自定义异常类具有以下优点:

  • 更加准确:自定义异常类可以根据实际业务场景进行精细的划分,避免因为使用不当的系统内部异常导致错误的异常处理。
  • 更加可读:自定义异常类的命名可以直接表达出其意思,非常直观。
  • 更加可维护:自定义异常类的定义简单且易于维护。
总结

自定义异常类是Java程序开发中常用的一种技巧,可以使程序更加灵活、可读性更高,具有更好的可维护性。但是也需要根据实际情况进行合理的使用,避免过度使用和滥用,增加程序的复杂度。