java异常中的finally

Posted 寒潭渡鹤影

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java异常中的finally相关的知识,希望对你有一定的参考价值。

finally是保证语句能一定执行的。不管程序是否会报错,我们把程序一定要执行的代码放在finally中。

比如说流的关闭,不管在读写的过程中是否报错,一定要关闭流,可以把流的关闭操作放在finally中。

代码展示如下所示:

package exception;

import java.io.FileOutputStream;
import java.io.IOException;


/**
* finally在IO中的使用
* @author 小明
*
*/
public class FinallyDemo2 {

public static void main(String[] args) {
//以下是标准的流创建写法
FileOutputStream fos = null;

try {
fos = new FileOutputStream("fos.dat");
fos.write(1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
try {
if(fos != null){
fos.close();
}
//报错1:有作用域,所以要把fos的定义放在try外面,否则会报错
//报错2:close()方法要求处理一个异常
//注意:在new创建的过程中也有可能报错,比如说路径不对(父路径不存在)
//这时会创建失败,那么fos仍然是空,那么这里应该多一层判断,
//因为fos为空,关闭会抛出异常。
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


}

}

这时流创建时标准的写法。

 



































以上是关于java异常中的finally的主要内容,如果未能解决你的问题,请参考以下文章

Python异常处理机制调试测试

java中的异常处理问题??

java中的异常处理的基本结构

Java中的异常处理

Java中的异常处理机制的简单原理和应用。

Java中的异常处理机制