Java异常处理-----finally
2016-07-24 17:12
483 查看
finally
1: 实现方式一:
try{ // 可能发生异常的代码 } catch( 异常类的类型 e ){ // 当发生指定异常的时候的处理代码 }catch…
比较适合用于专门的处理异常的代码,不适合释放资源的代码。
2:实现方式二:
try{ } catch(){} finally{ // 释放资源的代码 }
finally块是程序在正常情况下或异常情况下都会运行的。
比较适合用于既要处理异常又有资源释放的代码
3:实现方式三
try{ }finally{ // 释放资源 }
比较适合处理的都是运行时异常且有资源释放的代码。
4:finally:关键字主要用于释放系统资源。
1:在处理异常的时候该语句块只能有一个。
2:无论程序正常还是异常,都执行finally。
5:finally是否永远都执行?
1:只有一种情况,但是如果JVM退出了System.exit(0),finally就不执行。
2:return都不能停止finally的执行过程。
6:案例使用流
1:使用FileInputStream加载文件。
导包import java.io.FileInputStream;
2:FileNotFoundException
导入包import java.io.FileNotFoundException;
3:IOException
import java.io.IOException;
【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】
1: 实现方式一:
try{ // 可能发生异常的代码 } catch( 异常类的类型 e ){ // 当发生指定异常的时候的处理代码 }catch…
比较适合用于专门的处理异常的代码,不适合释放资源的代码。
2:实现方式二:
try{ } catch(){} finally{ // 释放资源的代码 }
finally块是程序在正常情况下或异常情况下都会运行的。
比较适合用于既要处理异常又有资源释放的代码
3:实现方式三
try{ }finally{ // 释放资源 }
比较适合处理的都是运行时异常且有资源释放的代码。
4:finally:关键字主要用于释放系统资源。
1:在处理异常的时候该语句块只能有一个。
2:无论程序正常还是异常,都执行finally。
5:finally是否永远都执行?
1:只有一种情况,但是如果JVM退出了System.exit(0),finally就不执行。
2:return都不能停止finally的执行过程。
6:案例使用流
1:使用FileInputStream加载文件。
导包import java.io.FileInputStream;
2:FileNotFoundException
导入包import java.io.FileNotFoundException;
3:IOException
import java.io.IOException;
public class FinallyDemo { // 本例子使用finally 关闭系统资源。 public static void main(String[] args) { FileInputStream fin = null; try { System.out.println("1创建io流可能出现异常"); fin = new FileInputStream("aabc.txt"); // 加载硬盘的文本文件到内存,通过流 // System.out.println(fin); } catch (FileNotFoundException e) { System.out.println("2没有找到abc.txt 文件"); System.out.println("3catch 了"); // System.exit(0); // return; } // finally finally { System.out.println("4fianlly执行"); if (fin != null) { // 如果流对象为null 流对象就不存在,没有必要关闭资源 try { fin.close(); } catch (IOException e) { e.printStackTrace(); System.out.println("close 异常"); } } System.out.println("5finally over"); } System.out.println("6mainover"); } } // 2:无论程序正常还是异常,都执行finally。 但是遇到System.exit(0); jvm退出。 // finally用于必须执行的代码, try{} catch(){}finally{} // try{}finally{}
【正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!下面有个“顶”字,你就顺手把它点了吧(要先登录CSDN账号哦 )】
相关文章推荐
- IO流输出系统信息
- JavaSE 高级 第06节 初识I、O流
- JavaEE介绍
- javaEE与java的区别
- Java中IO流操作文件总结
- Java异常处理-----非运行时异常(受检异常)
- Java异常处理-----非运行时异常(受检异常)
- JavaSE 高级 第05节 日期类与格式化
- OpenSessionInViewFilter cannot be cast to javax.servlet.Filter问题
- Java的初始化块、静态初始化块、构造函数的执行顺序及用途探究
- IO流以日志文件记录异常
- 深入浅出看流媒体前世今生,分分钟二逼变牛逼
- Java异常处理-----运行时异常(RuntimeException)
- Java异常处理-----运行时异常(RuntimeException)
- Java的基础知识1
- JavaSE 高级 第03节 Math类与猜数字游戏
- java构造器的作用
- Java异常处理-----自定义异常
- Java异常处理-----自定义异常
- SpringMVC学习之路