package cn.itcast.day08.Exception;
import java.io.FileNotFoundException;
import java.io.IOException;
/*
finally代码块
格式:
try{
可能产生异常的代码
}catch(定义一个异常变量,用来接收try中抛出的异常对象){
异常的处理逻辑:产生异常对象之后,怎么处理异常对象
一般工作中,会把异常的信息记录到一个日志中
}
....
catch(异常类名 变量名){
}finally{
无论是否出现异常都会执行
}
注意:
1.finally一般不能单独使用,必须和try一起使用
2.finally一般用于资源释放(回收),无论程序是否出现异常,最后都要资源释放
*/
public class Demo07 {
public static void main(String[] args) {
try {
readFile("c:\\a.txt");
} catch (IOException e) {
e.printStackTrace();
}finally{//无论是否出现异常都会执行
System.out.println("资源释放");
}
}
/*
定义一个方法:对传递的文件路径进行合法判断
如果路径不是"c:\a.txt",那么就抛出文件找不到异常对象,告诉方法调用者
注意:
FileNotFoundException是编译异常,抛出了编译异常,就必须处理这个异常
可以使用throws继续声明抛出FileNotFoundException这个异常对象,让方法调用者处理
*/
public static void readFile(String fileName) throws FileNotFoundException, IOException {
if (!fileName.equals("c:\\a.txt"))
throw new FileNotFoundException("传递的文件路径不是c:\\a.txt");
else {
System.out.println("路径没有问题,读取文件");
}
/*
如果传递的路径不是.txt结尾
那么我们抛出IO异常对象,告诉方法调用者,文件的后缀名不对
*/
if (!fileName.endsWith(".txt")) {
throw new IOException("文件的后缀名不对");
} else
System.out.println("路径没有问题,可以读取文件");
}
}
java在异常处理中finally的使用方法
最新推荐文章于 2022-06-16 22:32:50 发布