在java中返回before finally

在java中返回before finally,java,Java,在这种情况下,“myMethod()”是在“doSomething()”之前还是之后执行的 myMethod()在doSomething之后执行,因为doSomething在barMethod将其值返回给调用方之前执行 计算并准备返回该值,然后最终块将全部执行,只有在调用方继续执行之后;这是调用myMethod的时候。myMethod()之前的doSomething() 它在显示“doSomething”后崩溃为什么不通过向方法中添加System.out.println语句来检查自己呢!?或者还

在这种情况下,“myMethod()”是在“doSomething()”之前还是之后执行的

myMethod()
doSomething
之后执行,因为
doSomething
barMethod
将其值返回给调用方之前执行

计算并准备返回该值,然后
最终
块将全部执行,只有在调用方继续执行之后;这是调用
myMethod
的时候。

myMethod()之前的doSomething()


它在显示“doSomething”后崩溃

为什么不通过向方法中添加
System.out.println
语句来检查自己呢!?或者还有更好的方法:为什么不通过调试代码和查看调用堆栈来检查它呢?
public class Foo {
    public void fooMethod() {
        Bar bar = new Bar();
        bar.barMethod().myMethod();
    }
}

public class Bar {
    public SomeClass barMethod() {
        try {
            return new SomeClass();
        } finally {
            doSomething();
        }
    }
}
public class Test {

   public static void main(String[] a){
       new Foo().fooMethod();
   }

public static class Foo {

    public void fooMethod(){
        Bar bar = new Bar();
        bar.barMethod().parseInt("sc");
    }

}

public static class Bar {

    public Integer barMethod(){
        try {
            return new Integer(100);
        } finally {
            doSomething();
        }
    }

    private void doSomething(){
        System.out.println("doSomething");
    }

}
}