try-finally中的返回值

原创 2012年03月21日 11:16:49
class B
{
    public int i=0;

}


public class MyTestCase {


    @Test
    public void hello() {
        int a = getI();
        System.out.println("a = " + a);
        
         B b1 = getB1();
        System.out.println("b1.i = " + b1.i);
        
        B b2 = getB2();
        System.out.println("b2.i = " + b2.i);
    }


    private int getI() {
        int a = 0;
        try {
            a = 1; 
            return a;
        } finally { 
            a = 2; 
        }
    }
    private B getB1() {
        B b = new B();
        try {
            b.i = 1; 
            return b;
        } finally { 
            b.i = 2;  
        }
    }
    
    private B getB2() {
        B b = new B();
        try {
            b.i = 1; 
            return b;
        } finally {  
            b = new B();
        }
    }
}


输出:

a = 1
b1.i = 2
b2.i = 1

try-finally

http://blog.sina.com.cn/s/blog_4ed1e0e40100awsl.html http://blog.csdn.net/lh8350/article/details/76...
  • wuhua_amazing
  • wuhua_amazing
  • 2013年10月19日 16:57
  • 506

try-finally 启示

public class Test {     public static void main(String[] args) {        System.out.println(decision(...
  • ggf007
  • ggf007
  • 2009年07月02日 21:46
  • 529

关于try-finally

原贴地址http://topic.csdn.net/u/20081128/11/2b590a63-4ab7-46e0-ab69-4a25be0978ad.html?seed=1312283290 ja...
  • baggio328
  • baggio328
  • 2008年12月02日 09:32
  • 714

try-finally 陷阱

try-finally 2011-03-23 17:56 public class Test {     public static void main(String[] args) { ...
  • wsxc451
  • wsxc451
  • 2012年02月10日 08:09
  • 178

java的try-finally

java的try-finally给我们提供了一个“保证某个动作必然执行”的机会。 一个try-finally结构,只要try块开始执行了,finally块里面的代码保证执行一次并且只有一次。 打个比方...
  • ydsmzh
  • ydsmzh
  • 2011年07月06日 08:58
  • 239

try-finally与try-catch-finally的…

为了弄清楚try-finally及try-catch-finally的使用和执行流程,进行了如下实验,先分享给网友们,不对的地方指正批评哈!!! 实验方法:根据try所在的函数是否带返回值、ret...
  • mathcompfrac
  • mathcompfrac
  • 2016年12月25日 12:26
  • 167

try-finally连用

当代码块遇到异常时,我们一般会选择使用try-catch-finally连用,但有时,我们也许会想用捕获异常但不抛出,最后仍然可以执行finally代码,如: public void yourO...
  • sinat_36449151
  • sinat_36449151
  • 2017年08月05日 11:43
  • 93

java中方法为什么需要返回值?

关于什么需要返回值?我的理解是“因需要而定”。以下我举个例子。(注:例子很简单,但当以后大的项目中,就能体现出来它的思路优 势了。)比如:现在给你个问题解决,要求计算1+1等于几,并把结果显示出...
  • qq_24930285
  • qq_24930285
  • 2015年12月03日 11:01
  • 570

12.3.3.14 Try-finally statements

12.3.3.14 Try-finally statementsFor a try statement stmt of the form:try try-block finally finally-b...
  • masterall
  • masterall
  • 2005年12月09日 20:40
  • 681

C#中的try与finally

1 finally与returntry-catch-finally是很常用的语法结构,用来控制可能发生异常时的程序流程,其中catch和finally至少要有一个。初学try语法时可能会要问一个问题:...
  • lsd123
  • lsd123
  • 2008年10月24日 16:07
  • 2541
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:try-finally中的返回值
举报原因:
原因补充:

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