用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?- 9. public class Test42 {
- 10. public static void main(String[] args) {
- 11.
- 12. System.out.println(Test6.test());
- 13. }
- 14.
- 15. public static int test(){
- 16. int x = 3;
- 17. try{
- 18. System.out.println("try run");
- 19. return x = 3 + 4;
- 20. }
- 21. finally{
- 22. System.out.println("finally run");
- 23. if(x > 2){
- 24. System.out.println("x="+x);
- 25. }
- 26. }
- 27.
- 28. }
- 29. }
复制代码
return 语句已经执行了再去执行 finally 语句,不过并没有直接返回,而是等 finally 语句执行完了再返回结果。 |
|