try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date fileDate = sdf.parse("20080528");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} public int[] executeMUpDateBatch(String sKind){
int[] result = null;
String TableName = getConfig(sKind);
if(upDates==null)
return result;
try {
Connection conn = DATABASE.connPool.getConnection();
PreparedStatement ps = conn.prepareStatement(upMSql);
for(int i=0;i<upDates.size();i++){
ps.setString(1, upDates.get(i).get(0));
ps.setString(2, upDates.get(i).get(1));
ps.setString(3, upDates.get(i).get(2));
ps.setString(4, upDates.get(i).get(3));
ps.setString(5, upDates.get(i).get(4));
ps.setString(6, upDates.get(i).get(5));
ps.setString(7, upDates.get(i).get(6));
ps.setString(8, upDates.get(i).get(7));
ps.setString(9, upDates.get(i).get(8));
ps.setString(10, upDates.get(i).get(9));
ps.addBatch();
// for(int j=1;j<upDates.get(i).size();j++){
//             ps.setString(j, upDates.get(i).get(j-1));
// }
}
result = ps.executeBatch();
DATABASE.connPool.returnConnection(conn);
return result;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
为什么我的程序在抛出以上两种异常后终止,如果我希望它继续运行该怎么处理。

解决方案 »

  1.   

    加个finally,里面写你要继续执行的代码,就可以了
      

  2.   

    try {
        // ...可能抛出异常的部分
    } catch(Exception e) {
        // ...处理异常
    }// ...异常处理完了,继续运行
      

  3.   

    有个办法,你用循环把try catch块包围起来,然后catch中不要执行e.printStackTrace();
    ,就一个空体就OK
      

  4.   

    抛出异常后要返回原来的位置也是可以的。把try catch放到一个循环里。
    boolean condition = true;
    while(condition) {
        try {
             ...
            condition = false;  //如果没有异常就跳出循环。
        }
        catch(Exception e) {
            e.printStackTrace();
        } //有异常就回到原点继续。
    }
      

  5.   

    thinking in java我看了
    在这两个异常之后我还有很多的处理代码,但是在控制台输出了异常信息后,后面的代码就都没有执行.
      

  6.   

    这个方法比较多
    可以在捕获异常的同时调用新的方法
    可以用finally类继续调用其他方法
    可以捕获到异常不进行处理继续执行其他代码。