finally不一定会执行

转载 2016年08月29日 14:18:23
</pre><pre name="code" class="java">
public class ADaemon implements Runnable {
	public void run() {
		try {
			System.out.println("Starting ADaemon");
			TimeUnit.SECONDS.sleep(1);
		} catch (InterruptedException e) {
			System.out.println("Exiting via InterruptedException");
		} finally {
			System.out.println("this should always run?");
		}
	}

	public static void main(String[] args) {
		Thread t = new Thread(new ADaemon());
		t.setDaemon(true);
		t.start();
	}
}
这是一个后台线程在不执行finally子句的情况下就会终止其run()方法;

当运行这个程序时,finally子句是不会执行的,但是如果把注释掉对setDaimon()的调用,就会看到finally子句的执行。

摘自《java编程思想》21章并发


python中 try、except、finally 的执行顺序

def test1(): try: print('to do stuff') raise Exception('hehe') print('to return...
  • u010159842
  • u010159842
  • 2017年02月08日 11:40
  • 1242

finally块中的代码什么时候被执行?finally是不是一定会被执行?(见最后引申)

问题描述:try{}里有一个return语句,那么紧跟在这个try{}后面的finally{}中的代码是否会被执行?如果会的话,什么时候被执行,在return之前还是return之后? 在Java...
  • Dove_Knowledge
  • Dove_Knowledge
  • 2017年05月02日 10:30
  • 3294

java中finally语句快会不会执行的问题

一、先看下面的代码 public static void main(String[] args) { try { System.out.println("h...
  • u013126379
  • u013126379
  • 2016年08月04日 17:13
  • 1115

异常处理机制:finally的执行时机

今天被问到java是如何处理异常的? 啊,try/catch呀 那你知道finally的代码在捕获异常后还执行麽?未捕获时候呢? 啊,这个简单,都执行的,因为finally语句块内的语句无论在什...
  • wangjing19900520
  • wangjing19900520
  • 2015年07月28日 13:52
  • 518

android activity 应该知道的一切(完整篇)

概述前面讲解了关于activity生命周期的一些基本知识,不了解的看前面这篇文章 ,其中onPause方法也单独特别讲解过,当另一个activity启动,覆盖到当前activity上时,当前activ...
  • cquwentao
  • cquwentao
  • 2016年08月31日 16:30
  • 1110

在try中写了return,后面又写了finally,是先执行return还是先执行fianlly

在java的学习中,关于异常的处理是很重要的一环,笔者最近在学习这一方面的知识时就遇到了一个问题:就是在try语句块中写了return,但后面又写了finally语句,那么程序到底是先执行return...
  • u014697083
  • u014697083
  • 2014年04月13日 23:32
  • 1769

java Finally代码块真的任何情况下都是执行的?

三种可能不执行finally代码块的情况 - 在try代码块之外产生异常或者返回下是不会执行finally代码块的 - 执行try代码块时候退出了JVM虚拟机 - 在子线程执行try代码块或者c...
  • JQ_AK47
  • JQ_AK47
  • 2017年02月08日 22:03
  • 743

return与finally到底谁先执行?

关于return与finally的强弱关系的解释。其中返回值的一些注意事项
  • zoujian1993
  • zoujian1993
  • 2015年04月29日 10:11
  • 914

【Java】finally代码块不被执行的情况总结

以前跟别人讨论finally关键字,我总是简单的说:“fianly代码块中的代码一定会执行,一般用来清除IO资源等非内存资源(内存资源由GC机制回收)”。 今天翻书发现了几种不会执行的情况,现在总结下...
  • hj7jay
  • hj7jay
  • 2017年03月30日 09:22
  • 531

finally return 执行关系 异常处理 c#

Return、finally执行关系简述
  • u011528448
  • u011528448
  • 2014年05月08日 07:21
  • 1554
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:finally不一定会执行
举报原因:
原因补充:

(最多只允许输入30个字)