finally代码块
格式:
try{
可能产生异常的代码
}catch(定义一个异常的变量,用来接收try中抛出的异常对象){
异常的处理逻辑,异常对象之后,怎么处理异常对象
一般在工作中,会把异常的信息记录到一个日志中
}finally{
无论是否出现异常都会执行
}
注意:1.finally不能单独使用,必须和try一起使用
2.finally一般用于资源释放(资源回收),无论程序是否出现异常,最后都要资源释放(IO)
public class DemoTryCatch {
public static void main(String[] args) {
try {
//可能会产生异常的代码
readFile("c://a.tt");
} catch (IOException e) {
// e.printStackTrace();
// System.out.println("传递的文件后缀名不是txt");
// System.out.println(e.getMessage());
// System.out.println(e.toString());
e.printStackTrace();
}finally{
System.out.println("资源释放");
}
System.out.println("后续代码");
}
public static void readFile(String fileName) throws IOException{
if(!fileName.endsWith(".txt")){
throw new IOException("文件的后缀名不对");
}
}
}