try…catch…finally异常处理的组合方式

1、try catch finally组合:检测异常,并传递给catch处理,并在finally中进行资源释放。

2、try catch组合 : 对代码进行异常检测,并对检测的异常传递给catch处理。对异常进行捕获处理。

void show(){ //不用throws

    try{

        throw new Exception();//产生异常,直接捕获处理

    }catch(Exception e){

        //处理方式  

    }

}

3、一个try 多个catch组合 : 对代码进行异常检测,并对检测的异常传递给catch处理。对每种异常信息进行不同的捕获处理。

void show(){ //不用throws

    try{

        throw new Exception();//产生异常,直接捕获处理

    }catch(XxxException e){

        //处理方式  

    }catch(YyyException e){

       //处理方式  

    }catch(ZzzException e){

      //处理方式  

    }

}

       注意: 这种异常处理方式,要求多个catch中的异常不能相同,并且若catch中的多个异常之间有子父类异常的关系,那么子类异常要求在上面的catch处理,父类异常在下面的catch处理。

 

4、try finally 组合: 对代码进行异常检测,检测到异常后因为没有catch,所以一样会被默认jvm抛出。异常是没有捕获处理的。但是功能所开启资源需要进行关闭,所有finally。只为关闭资源。

void show(){//需要throws

    try{

        throw new Exception();

    }finally {

        //释放资源

    }

}

 

你可能感兴趣的:(#,day21)