import java.io.*;
class BBB
{
public static void main(String args[])
{
try
{
throw new Exception();
}
catch(Exception e )
{
   System.out.println("Exception");
   return ;  //到哪里,程序执行点吗?
}
finally
{

System.out.println("finally");
return ;  //main线程还在吧??
}
}
}

解决方案 »

  1.   

    通俗的说...RETURN不是说返回到哪个地方..而是代表结束了.同时返回一个东西给前面用....你的这个是VOID..返回的是空值..就是什么都不返回...所以一个RETURN后面就没东西了..一般来说后面跟什么就是返回什么的.
      

  2.   

    很简单
    return到调用它的地方 
      

  3.   

     public static void main(String args[])
        {
            try
            {
                throw new Exception();
            }    
            catch(Exception e )
            {
               System.out.println("Exception");
               return ;  //到哪里,程序执行点吗?
            }
            finally
            {
            
                System.out.println("finally");
                    return ;  //main线程还在吧??
            }
        }
    void类型的还return?
      

  4.   

    public class ii
    {
    public static void main(String args[])
    {
    return;
    }
    }
    这个程序main线程也会终止吗?
      

  5.   

    return  返回到调用它的地方...把返回值带给了调用它的地方
      

  6.   

    第一个 先返回try
    第二个执行完没东西了退出
      

  7.   

    class BBB
    {
        public static void main(String args[])
        {
            try
            {
                throw new Exception();
            }    
            catch(Exception e )
            {
               System.out.println("Exception");
               return ;  //到哪里,程序执行点吗?
            }
            finally
            {
            
                System.out.println("finally");
                    return ;  //main线程还在吧??
            }
        }
    }
    如果程序出现异常,会跳到catch里,执行到return后不会直接跳出,还会执行finally的代码,如果在finally代码块里没有return,程序还会跳到catch的return里在返回的。如果再次出观return就直接返回呢。
      

  8.   

    第一个return结束整个try{}catch{}段,而第二个retrun则没有意义。一般来说,return ** 是结束它所在的整段代码,并且返回**,如果没有,则返回空值
      

  9.   

    import java.io.*;
    class BBB
    {
        public static void main(String args[])
        {
            try
            {
                throw new Exception();
            }    
            catch(Exception e )
            {
               System.out.println("Exception");
               return ;  //到哪里,程序执行点吗? --return 接着执行finally里面的内容
            }
            finally
            {
            
                System.out.println("finally");
                    return ;  //main线程还在吧?? --return 执行finally{}后面的内容  到1处
            }
            //1====
        }
    }
      

  10.   

    不好意思,上面说错了,第二次return会退出主线程!不会执行后面的内容,
    finally里面的return 会 覆盖第一次return的结果,比如在一个又返回值得函数,第一次return 1,finally里面return 2 那么打印的结果为第二次return 的值
    class BBB 

        public static int test()
        { 
            try 
            { 
                throw new Exception(); 
            }    
            catch(Exception e ) 
            { 
              System.out.println("Exception"); 
              return 1;  
            } 
            finally 
            { 
            
                System.out.println("finally"); 
                    return 2;  
            } 
        } 

    system.out.println(test());结果为2
      

  11.   

    好意思,上面说错了,第二次return会退出主线程!不会执行后面的内容, 
    finally里面的return 会 覆盖第一次return的结果,比如在一个又返回值得函数,第一次return 1,finally里面return 2 那么打印的结果为第二次return 的值 
    class BBB 
    赞同
      

  12.   


    main 方法相当于普通线程(你自己创建并启动的线程)的 run 方法,当 main 方法 return 后(你自己显示执行 return 语句或 main 方法执行完最后一行代码)与之对应的 main 线程就会消亡,如果你自己没开其它非守护线程你的程序就会正常退出。
      

  13.   

    这里的return只代表结束意思;所以虽然不是void方法,但可以return;不返回任何值直接结束;
      

  14.   

    一楼说的对,它代表结束。但是你的主线程没有结束,finally关键字就是为了防止在放回前还有没有释放的支援而设计的,所以无论什么时候,finally语句都会执行。
      

  15.   

    这么多人都是在jAVA的角度来看这个问题,那我就从实现上给你显示一下吧!
    假设说,有一个栈,栈内的每一个小格都代表着一个方法.而你现在有一个方法是第三个小格,程序从第一个小格开始执行,执行到第三个小格的时候,它就会进入到这个小格里面去(也许这个小格里还有一个栈一样的东西),等执行完所有的一切以后,我们会从这第三个小格里返回到栈上来.
    也不知道你听明白没有~~~如果还是不明白,你可以和我说.
    q:24892236
      

  16.   

    1 返回到try
    2 退出