📅  最后修改于: 2023-12-03 14:43:04.746000             🧑  作者: Mango
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程序开发中常用的一种技巧,可以使程序更加灵活、可读性更高,具有更好的可维护性。但是也需要根据实际情况进行合理的使用,避免过度使用和滥用,增加程序的复杂度。