依然可以捕捉异常,只是不加以其他处理而已,这样你的代码能继续跑下去的。
象下面这个
}catch(Exception e){
      Debug.println("取得符合条件的reg_id集合失败!");
      e.printStackTrace();
      datacall.rollBack();
}
你可以用e.printStackTrace();打印出异常的详细信息!

解决方案 »

  1.   

    这个是强制对异常进行处理,如果你不写catch的话,程序无法通过,所以必须加,但你可以选择不处理。
      

  2.   

    是不是,如果在TRY内出现异常,就跳到CATCH中,在这里什么也不做。然后就又继续执行后面的程序了???
      

  3.   

    是的,什么也不做,继续执行后面的代码 ! :)但是你要注意的是
    try{
     1     datacall = new DataCall(); 2     sql = "SELECT principal,reg_id,reg_name,trade_location,tel FROM BusinessMan"+whereStr;
     3    ResultSet burs = datacall.executeQuery(sql);
    }
    catch(Exception e){}
      如果上面的第一句产生了异常,那么2、3句就被跳过去而不被执行,因为已经跳到catch去了,然后就往下走,不会再运行2、3句了! :)
      

  4.   

    应该是跳到CATCH中处理完CATCH里的语句后,程序不再继续执行后面的语句
      

  5.   

    TO cooled(一飞)  不会的,我刚刚做了实验,除非你在catch中放了return语句,强制返回或退出;否则还是会往后面执行下去! :)
      

  6.   

    而且,如果catch块后有finally块,哪怕你在catch中放了return语句,finally块也是绝对会执行的!
      }
      catch(Exception e){
       System.out.println("出错啦!");
       return;
     }
     finally{
      System.out.println("Starting Test...");
     }
    不信你们可以测试一下! :)
      

  7.   

    只有在一种情况下:
    import java.sql.*;
    class TestExcErr
    { public static void main(String args[])
      {
        try{
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver1"); 
        }catch(ClassNotFoundException e1){
           System.out.println("错误:"+e1.toString() );
    1       System.exit(0); 
        }
        finally{
    2       System.out.println("Starting Test...");
        }
    3    System.out.println("程序结束!");
      }
    }
    系统会在1处退出,2和3都不会执行
      

  8.   

    呵呵,楼上说的也是正确的,我刚刚也测试了一下,System.exit(0)是强制退出了整个程序,而return只是退出了这个方法而已! :)