public class ExceptionExam4{
    public static void main(String[] args){
        try
        {
            int [] a=new int[3];
            a[3]=4;
            return;
        }
        catch(ArithmeticException e)
        {
            System.out.println("发生了异常");
        }
        finally
        {
            System.out.prinln("最后执行的语句!");
        }
    }
}
请问一下上述代码中return语句是有何用啊?不带参数的return是有什么作用的?谢谢赐教!!!

解决方案 »

  1.   

    程序正常执行,没有抛异常的情况下不执行finally块。
      

  2.   

    是说那return加不加有什么用啊?看不懂那个return是起什么作用的
      

  3.   

    如果没有return,任何情况(有、无异常)下都将执行finally块。
      

  4.   

    在这里加了return语句在有无异常下还是会执行finally,实在不明不带参数的return有什么用
      

  5.   


    这里很明显是你故意让访问越界,要是是不能预知的,比如由一个外部方法返回来作为索引值。
    就不知道是否有异常,假设程序能正常执行,当然要retuen返回。
      

  6.   

    因为lz的程序异常没被捕捉到 所以程序无条件停止了 当然是在执行了finally block后
    return带参和不带在是否被执行这一关注点上是平等的
    即使catch到了异常 由于异常先于return句 try中的return也会被忽略了
    否 则在finally block之后执行
      

  7.   

    finally语句块总会执行,除非你用了System.exit(0);
    这里的return好像是没什么用,写不写都一样
      

  8.   


    明显不对,不管有没有return。finally肯定执行LZ这里的return没有任何作用
      

  9.   

    说漏了点,你如果在return语句之前执行System.exit(0),finally语句块就不会执行
      

  10.   

    try catch finlly return 无论何时,都是很执行finally,再执行return. 哪怕return在finlly之前。
      

  11.   

    谢谢LS的各位,那平时编程中return与try搭配是干什么用的?
      

  12.   

    如果方法有具体返回类型的话,就要用return 返回一个值,
    而你这里的这个程序正好是在main方法里,返回类型为void,所以可以不写return
    try是和catch,finally搭配的,与return无关
      

  13.   

    return是什么都不做的意思,在你的程序中就像楼上各位说的一样是没什么作用的,
    不过,finally是“最终”的意思,在程序中,不管有没有return;有没有异常,它始终都会执行!
      

  14.   

    return 怎么会没用?
    当执行try块的时候就结束不运行finally了,如果有异常不光要做catch,还要做finally
      

  15.   

    这里没有用,但是如果try程序段后面还有程序,就不一样了。
      
    public  void trycatch(){
    try {
    //Integer i=new Integer("12345678wwww");//去掉注释,这里会打印outer
    //Integer j=new Integer("12345678");  //去掉注释,这里不会打印outer
    return ;
    } catch (Exception e) {
    e.printStackTrace();
    }finally{
    System.out.println("finally");
    }
    System.out.println("outer");
    }
      

  16.   

    不太参的return除了在要条件退出时有点作用,正常退出的时候没作用,所以可以省略不写。
      

  17.   

    18楼正解
    如果加上System.exit(0),那就直接退出,不执行finally和后面的outer
      

  18.   

     int [] a=new int[3]; 
     a[3]=4;//越界try 块中是return语句的,finally块必执行
    try 中是System.exit(0),直接终止程序,不执行finally块.
     
      

  19.   

    return这个什么都不做,在楼主的代码中没有什么意义
    但是有时需要用这个来中断行为.引伸一下如class test{  private int money = 0;  public void buyThing(){
         money = getSalary();//发工资了?可以买东西...没发工资?失望中,呆头呆脑回家.
         if(money == 0)
            return;
         buySomeThing();
      }
    }