Java异常发生时程序的执行顺序
作者:网络转载 发布时间:[ 2014/7/2 14:36:52 ] 推荐标签:Java
输出的结果是2,4也是说在try结构中,虽然使用了return语句强制函数返回,不再往下执行,但实现上finally中的还是执行了。但除了finally外的其它语句不再被执行。
一个更流行的例子是:
|
import java.io.*;
/**
* @author Lansine
*
*/
public class Mine {
public static void main(String argv[]){
Mine m = new Mine();
try {
System.out.println(m.amethod());
} catch (Exception e) {
// TODO 自动生成 catch 块
//e.printStackTrace();
System.out.println("我知道了");
}
System.out.println("finished");
}
public int amethod()throws Exception {
try {
FileInputStream dis = new FileInputStream("Hello.txt"); // 1,抛出异常
System.out.println("异常发生之后");
} catch (Exception ex) {
System.out.println("No such file found"); // 2.catch捕捉异常,并执行
//throw new Exception("上面处理");
return -1; // 4,return 返回
} finally {
System.out.println("Doing finally"); // 3.finally一定会执行,在return之前。
}
System.out.println("在代码后面");
return 0;
}
}
|
结果是:
No such file found
Doing finally
-1
finished
如果在catch块中抛出异常,则结果为:
No such file found
Doing finally
我知道了
finished
注意:如果异常往上抛直到main函数还没有被catch处理的话,程序将被异常终止。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
Java性能测试有哪些不为众人所知的原则?Java设计模式??装饰者模式谈谈Java中遍历Map的几种方法Java Web入门必知你需要理解的Java反射机制知识总结编写更好的Java单元测试的7个技巧编程常用的几种时间戳转换(java .net 数据库)适合Java开发者学习的Python入门教程Java webdriver如何获取浏览器新窗口中的元素?Java重写与重载(区别与用途)Java变量的分类与初始化JavaScript有这几种测试分类Java有哪四个核心技术?给 Java开发者的10个大数据工具和框架Java中几个常用设计模式汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

sales@spasvo.com