Java培训课程之finally与return

执行顺序:

1、执行try,catch,给“返回值”临时变量赋值

2、执行finally

3、return

return语句两个作用:给返回值赋值,结束方法运行

从finally的return回来

示例代码:

package com.atguigu.exception;

 

public class TestReturn {

    public static void main(String[] args) {

       int result = test(“a”);

       System.out.println(result);

    }

 

    public static int test(String str){

       try{

           Integer.parseInt(str);

           return 1;

       }catch(NumberFormatException e){

           return -1;

       }finally{

            System.out.println(“test结束”);

           return 0;

       }

    }

}

运行结果:

test结束

0

 

从catch的return回来

示例代码

package com.atguigu.exception;

 

public class TestReturn {

    public static void main(String[] args) {

       int result = test(“a”);

       System.out.println(result);

    }

 

    public static int test(String str){

       try{

           Integer.parseInt(str);

           return 1;

       }catch(NumberFormatException e){

           return -1;

       }finally{

           System.out.println(“test结束”);

       }

    }

}

运行结果:

test结束

-1

从try的return回来

示例代码:

package com.atguigu.exception;

 

public class TestReturn {

    public static void main(String[] args) {

       int result = test(“12”);

       System.out.println(result);

    }

 

    public static int test(String str){

       try{

           Integer.parseInt(str);

           return 1;

       }catch(NumberFormatException e){

           return -1;

       }finally{

           System.out.println(“test结束”);

       }

    }

}

运行结果:

test结束

1

 


上一篇:
下一篇: