在一个类里面我有一个方法
public boolean login(String name , String pwd) {

      boolean flag = false;

      try{
    /*还有一些其他的代码*/
             flag = true;      }catch(Exception e){e.printStackTrace();}

return flag;

}try块中的代码比如有异常了,就会进入catch里面,下面的return flag是不是就无法执行了,如果想让此方法没有异常的时候flag返回true,有异常的时候flag返回false,是不是要写一个finally才可以,还有其他的办法吗?

解决方案 »

  1.   

    可以把flag的初始值设为boolean flag = false;
    catch的处理中把flag的值赋成false,boolean flag = false;
    try 里 boolean flag = false;就可以了;
      

  2.   

    说错了,是初始值设为true
      

  3.   


    初始设成false,花花为什么要改?
      

  4.   

    在try里面不return,肯定是有异常了
      

  5.   

    感觉可以把最后一句加到try 里
      

  6.   

    郁闷 错了 
     catch 汗 ```````
      

  7.   

    catch(Exception e){e.printStackTrace();}return flag;}这里是来捕捉错误后的处理的
    return,肯定是有异常了
      

  8.   

    谁说的,
    先执行catch语句,成功直接跳return,值为true
    不成功,匹配catch,值就为初始值false...
      

  9.   

    public boolean login(String name , String pwd) {      boolean flag = false;      try{
        /*还有一些其他的代码*/
                 flag = true;      }catch(Exception e){
              e.printStackTrace();
              flag = false;
          }return flag;}
      

  10.   

    试试这样做
     try{
         flag = true;
         /*还有一些其他的代码*/
         return flag;
    }catch(Exception e){
         e.printStackTrace();
         flag = false;
         return flag;
    }这样try中其他代码一旦产生异常,则程序控制权就转到catch块中,然后返回的flag为false