自定义异常
使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。 用户自定义异常类,只需继承 Exception 类即可。
在程序中使用自定义异常类,大体可分为以下几个步骤:
- 创建自定义异常类。
- 在方法中通过 throw 关键字抛出异常对象。
- 如果在当前抛出异常的方法中处理异常,可以使用 try-catch 语句捕获并处理;否则在方法的 声明处通过 throws 关键字指明要抛出给方法调用者的异常,继续进行下一步操作。
- 在出现异常方法的调用者中捕获并处理异常。
比如Demo如下:
public class MyException extends Exception {
private int detail;
public MyException(int a){
this.detail=a;
}
@Override
//捕获异常时的e就是tostring显示的内容
public String toString() {
return "MyException{" + "detail=" + detail + '}';
}
}
public class testMyException {
public static void test(int a) throws MyException { //抛出异常
System.out.println("传递的参数为"+a);
if(a>10){
throw new MyException(a); //存在异常,可以选择捕获或者抛出异常
}
System.out.println("ok");
}
public static void main(String[] args) {
try {
test(1); //显示异常
} catch (MyException e) { //于是就捕获异常
e.printStackTrace();
System.out.println("myexception=>"+e);
}
}
}
输出为:
传递的参数为1
ok
当 test(1); //显示异常这句改为
test(10); //显示异常
结果为:
传递的参数为11
myexception=>MyException{11}