为什么发生异常后程序终止运行?

zhangbug_net 2008-05-28 06:11:01

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();
}
}


为什么我的程序在抛出以上两种异常后终止,如果我希望它继续运行该怎么处理。
...全文
538 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
humcomm 2008-05-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ThirdDimension 的回复:]
我就不明白了,为什么遇到问题了都让人家去看书呢! 有些是要去看书,但是有些问题是看完书后不理解的才拿出来问问!你知道就告诉人家嘛,多打几个字助人为乐呀,况且你也不是什么都会!
[/Quote]
有道理
ThirdDimension 2008-05-29
  • 打赏
  • 举报
回复
我就不明白了,为什么遇到问题了都让人家去看书呢! 有些是要去看书,但是有些问题是看完书后不理解的才拿出来问问!你知道就告诉人家嘛,多打几个字助人为乐呀,况且你也不是什么都会!
ThirdDimension 2008-05-29
  • 打赏
  • 举报
回复
这个方法比较多
可以在捕获异常的同时调用新的方法
可以用finally类继续调用其他方法
可以捕获到异常不进行处理继续执行其他代码。
zhangbug_net 2008-05-29
  • 打赏
  • 举报
回复
thinking in java我看了
在这两个异常之后我还有很多的处理代码,但是在控制台输出了异常信息后,后面的代码就都没有执行.
sea_way 2008-05-28
  • 打赏
  • 举报
回复
去看think in java吧
lsxfhao 2008-05-28
  • 打赏
  • 举报
回复
抛出异常后要返回原来的位置也是可以的。把try catch放到一个循环里。
boolean condition = true;
while(condition) {
try {
...
condition = false; //如果没有异常就跳出循环。
}
catch(Exception e) {
e.printStackTrace();
} //有异常就回到原点继续。
}
yibunengjing 2008-05-28
  • 打赏
  • 举报
回复
有个办法,你用循环把try catch块包围起来,然后catch中不要执行e.printStackTrace();
,就一个空体就OK
jdlsfl 2008-05-28
  • 打赏
  • 举报
回复
异常抛出后,就不能返回原来的位置了
你还想处理什么就在处理异常的后面处理吧
捏造的信仰 2008-05-28
  • 打赏
  • 举报
回复
try {
// ...可能抛出异常的部分
} catch(Exception e) {
// ...处理异常
}

// ...异常处理完了,继续运行

KKK2007 2008-05-28
  • 打赏
  • 举报
回复
加个finally,里面写你要继续执行的代码,就可以了
anqini 2008-05-28
  • 打赏
  • 举报
回复
都到程序末尾了,下面没有代码怎么执行?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧