try..catch和finally

由于发生异常,导致程序异常终止,java提供了对异常进行处理的方式---捕获异常

try{

可能出现问题的代码              //这里的代码越少越好,因为他是异常,会走异常处理机制,JVM会开辟新的资源管理他,代码越多,开辟的资源越多,造成资源浪费

}catch(异常名 变量){

针对问题的处理                   //这里必须要有代码,否则就显得用try.. catch没有意义

}finally{

释放资源

}

try代码块中的程序发生了异常,系统会将这个异常的信息封装成一个异常对象,并将这个对象传递给catch代码块。catch代码块需要一个参数指明它所能接受的异常类型,这个参数类型必须是Exception类及其子类

在try代码块中,发生异常语句后面的代码是不会被执行的,就有了finally代码块,不论是否程序发生异常或使用return语句,finally代码块都会执行

try{

可能出现问题的代码     

可能出现问题的代码 

}catch(异常名 变量){   //可以用多个catch代码块执行处理多个异常,

针对问题的处理     

}catch(异常名 变量){

针对问题的处理   

}catch(Exception 变量){     //对于不清楚的异常可以用Exception,知道的异常尽量明确,如果出现子父关系的异常,父类异常必须在后

针对问题的处理   

}finally{

释放资源

}

2、在JDK7出现了一个新的异常处理方案

try{
}catch(异常名 | 异常名2 | ...变量){
..

}

注意:处理方式是一致的

          异常类型必须是平级关系

上一篇:JAVA篇:Java异常


下一篇:Python之自动化报表