hello,大家好,今天跟大家分享一下java中如何自定义异常,以后如果有新的心得,再添加,欢迎前辈指导。。。
首先,上Api,看一下异常和错误的父类:
然后,现在假设我有个循环(i=0;i<100;i++),我想在i==10的时候停止运行,并执行我自定义的异常,该怎么做呢,请看:
//自定义异常类:
自定义异常类,需要继承Throwable或Exception,并且重写printStackTrace()方法,此方法就是自定义异常的执行结果
public class MyException extends throwable{
@Override
public void printStackTrace() {
System.out.println("my exception is");
}
}
//测试类
public class ExceptionTest{
public static void main(String args[]){
for(int i=0;i<100;i++){
if(i==10){
try{
throw new MyException();//执行我自定义异常(此处throw不是抛出异常,是执行异常,(注意和throws的区别:throws位置是在方法后面,是抛出异常))
}catch(MyException e){
e.printStackTrace();//此处自定义类继承了throwable类,并且重写了printStackTrace()方法,e这个对象属于子类,不存在多态关系,因此执行的是子类中的方法
}
}
}
}
}