package cn.xiaocangtian.Exception;

 import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; public class TestException3 {
public static void main(String[] args) {
String str = new TestException3().openFile();
System.out.println(str); } String openFile() {
/**
* 执行顺序 1. 执行 try {} catch () {}
* 2. 执行 finally 如果在finally中有return语句,则不会再指行try or catch 中的return了!
* 3. 最后执行try or catch 中 的return 语句
*/
try {
System.out.println("aaa");
FileInputStream fls = new FileInputStream("E:/Java_All_Code/Test/test1.txt"); //对应FileNotFoundException
int a = fls.read(); //对应 IOException
System.out.println("bbb");
return "Step0"; //文件打开成功,则是应该在这里执行return
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("Catching1.。..");
e.printStackTrace();
return "Step1"; //如果文件打开失败,则应该在这里执行return
} catch (IOException e) {
System.out.println("Catching2....");
e.printStackTrace();
return "Step2";
} finally {
System.out.println("Finally !!!");
// return "fff"; //不要在finally中使用 return!!虽然可以用,但是习惯不好,会覆盖try or catch中的return
} }
}

Java学习笔记__异常机制_try_catch_finally_return执行顺序的更多相关文章

  1. 1.13(java学习笔记)异常机制

    异常不同于错误,它是程序运行时产生的未知问题. 如果把程序比喻成一辆汽车,那么汽车开着开着突然前面出现了一个大石头挡住了路,这就叫异常. 那么出现了这个异常我们需要去处理,比如打电话给公路管理局,让它 ...

  2. java学习笔记09--反射机制

    java学习笔记09--反射机制 什么是反射: 反射是java语言的一个特性,它允许程序在运行时来进行自我检查并且对内部的成员进行操作.例如它允许一个java的类获取他所有的成员变量和方法并且显示出来 ...

  3. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

  4. 【原】Java学习笔记030 - 异常

    package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 异常:Java ...

  5. java实训 :异常(try-catch执行顺序与自定义异常)

    关键字: try:执行可能产生异常的代码 catch:捕获异常 finally:无论是否发生异常代码总能执行 throws:声明方法可能要抛出的各种异常 throw:手动抛出自定义异常 用 try-c ...

  6. Jmeter学习笔记03-元件作用域及执行顺序

    Jmeter可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的层级关系,随着元件所在域的不同,在执行时候,会有不同效果 层级关系和元件类型决定了在测试计划中各元件的执行顺序. 1)元件的作用域: jm ...

  7. Java编程思想学习笔记_4(异常机制,容器)

    一.finally语句注意的细节: 当涉及到break和continue语句的时候,finally字句也会得到执行. public class Test7 { public static void m ...

  8. Java 学习笔记之 异常法停止线程

    异常法停止线程: public class RealInterruptThread extends Thread { @Override public void run() { try { for ( ...

  9. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

随机推荐

  1. CSS style和HTML style有什么区别?

    https://zhidao.baidu.com/question/1238362131134658699.html 没有什么区别啊,都是样式的意思. 没有分别的!CSS提高代码重用性,加速浏览器下载 ...

  2. label中设置某些指定的字体的属性设置(Color,Size,FontColor)

    不知道大家有没有遇到要设置某些字体的颜色和大小等属性的设置,下面就让我们一起走进字体的变形王国吧!!! 1.在storyboard中拖一个控件label,拖线设置属性为: @property (wea ...

  3. MSSQLServer 纵向表转横向表 横向表转纵向表 行转列 列转行

    MSSQLServer 纵向表转横向表  横向表转纵向表 建表语句及插入数据语句: CREATE TABLE Test_y( ) NULL, ) NULL, [Grade] [int] NULL ) ...

  4. canvas-炫丽的倒计时效果Canvas绘图与动画基础

    canvas 是基于转台来绘制的 来了解一下canvas的浏览器兼容性问题,如下图所示.(截图自can i use) tips:刚刚拿去ie8下测了一下,什么反应都没有,提前设定好的,如果该浏览器不支 ...

  5. widows和Linux java加密注意事项

    /** * @Title: EncrypAES.java * @Package com.weidinghuo.payment.util * @Description: TODO(用一句话描述该文件做什 ...

  6. UP board 漫谈(1)——从Atom到UP Board

    title: UP board 漫谈(1)--从Atom到UP Board date: 2016-12-26 12:33:03 tags: UP board categories: 开发板 perma ...

  7. jQuery对数组操作

    //对象数组 var trackObj1={ , "direcLine":"line31" }; var currentTrack=[]; currentTra ...

  8. thinkphp修改和删除数据

    1.在控制器MainController里面写一个方法,调用Nation表中的数据. public function zhuyemian() { $n = D("Nation"); ...

  9. 基于MQTT协议进行应用开发

    官方协议有句如下的话来形容MQTT的设计思想: "It is designed for connections with remote locations where a "sma ...

  10. php扩展memcached和memcache的安装配置方法:转载

    本文转载:http://www.jb51.net/article/56999.htm php连接memcached缓存服务器的客户端有两个,一个是memcache是比较底层的开发库,memcached ...