异常处理的问题

airfox2000 2004-10-09 03:40:32
写了这样一个函数
public Object executeSingleQuery(String strPoolName,String sqlString)
{
Statement stmt = null;
ResultSet rs = null;
Object returnObject = null;
Connection conn = null;
try{
conn = getConnection(strPoolName);
stmt = conn.createStatement();
rs = stmt.executeQuery(sqlString);
if(rs.next()){
returnObject = rs.getObject(1);
}
rs.close();
stmt.close();
conn.commit();
freeConnection(strPoolName,conn);
}catch (SQLException e){
log(e.toString()+",执行查询语句失败");
rs.close();
stmt.close();
freeConnection(strPoolName,conn);
throw e;
}
return returnObject;
}

提示throw e这行有错,错误提示为
Error #: 360 : unreported exception: java.sql.SQLException; must be caught or declared to be thrown at line 235, column 5
我觉得没有错啊,为什么?当把catch里的
rs.close();
stmt.close();
throw e;
去掉则正常了,但这不符合要求啊,请高手帮忙哦!

...全文
105 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
XqYuan 2004-10-10
  • 打赏
  • 举报
回复
如果你抛出的错误不是RuntimeException,就应该在方法中throws,如果是RuntimeException就不用
airfox2000 2004-10-09
  • 打赏
  • 举报
回复
我知道如何解决了,函数声明要改
public Object executeSingleQuery(String strPoolName,String sqlString) throws SQLException
相关推荐
发帖
Java

4.9w+

社区成员

Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
帖子事件
创建了帖子
2004-10-09 03:40
社区公告
暂无公告