这是自定义的DrunkException类:
public class DrunkException extends Exception{
public DrunkException(){}
public DrunkException(String message){
super(message);
}
}
这是一个抛出异常链,只要产生异常就可以抛出给调用者处理,并且可以在catch中继续向上抛。
public class ChainTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
ChainTest ct = new ChainTest();
try{
ct.Test3();
}catch(Exception e){
e.printStackTrace();
}
}
public void Test3() throws Exception{
try{
Test2();
}catch(Exception e){
//Exception run=new Exception(e);
//throw run;
throw e;
}
}
public void Test2() throws Exception{
try{
Test1();
}catch(DrunkException e){
//Exception run=new Exception(e);
//throw run;
//DrunkException drunkEx = new DrunkException(e.toString());
//throw drunkEx;
throw e;
}
}
public void Test1() throws DrunkException{
throw new DrunkException("执行了DrunkException");
}
}
一些Exception的类型可以在网上自行查阅