executeQuery中的异常无法现实到网页~~~~~~~~~~
时间:2008-06-19 11:29:25
来源:论坛整理 作者: 编辑:chinaitzhe
public ResultSet executeQuery(String sql){
stmt=null;
rs=null;
try{
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
}catch(SQLException e){
errormessage =e.getMessage(); //-----------errormessage是我定义的一个String,用来获取异常。
System.err.println("executeQuery:" e.getMessage());
}
return rs;
}
public void executeUpdate(String sql){
stmt=null;
rs=null;
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
stmt.executeUpdate(sql);
// stmt.close();
// conn.close();
}catch(SQLException ex){
errormessage =ex.getMessage();//-------------这里和上面是一样的
System.err.println("executeUpdate:" ex.getMessage());
//out.println("aq.executeQuery:" ex.getMessage());
}
}
同时,该类中有一个方法geterrorMessage()用来返回errormessage。
JSP中判定假如geterroeMessage()不为空的话,则进入错误页面同时提供errormessage信息。
可是希奇的是executeUpdate很正常,可以在JSP的错误页面显示错误信息。
但executeQuery在错误页面总是显示NULL,但在TOMCAT控制台可以显示错误信息。那就是这个异常还是捕捉到了,可是为什么没有赋值到errormessage去呢???而同样的executeUpdate里又获取到了。
麻烦个位高手帮忙了~~~~~~~
网友回复:此回复为自动发出,仅用于显示而已,并无任何其他非凡作用
楼主截止到2008-06-19 10:10:04的汇总数据:
注册日期:2003-12-19
上次登录:2008-6-13
发帖数:3
结贴数:2
结贴率:66.67%
楼主加油
网友回复:}catch(SQLException e){
errormessage =e.getMessage(); //-----------errormessage是我定义的一个String,用来获取异常。
System.err.println("executeQuery:" e.getMessage());
}
简单点就换成下面的
,因为你只处理了Sql异常没有处理空指针异常
}catch(Exception e){
errormessage =e.getMessage(); //-----------errormessage是我定义的一个String,用来获取异常。
System.err.println("executeQuery:" e.getMessage());
}
网友回复:不可能吧.这个可能得看看你是怎么使用的了
多放几个代码出来吧
网友回复:晕 貌似我理解错了
汗...
昨晚熬夜看球了 不好意思 似乎答非所问
网友回复:这个TOMCAT的控制台都显示出SQLException了~~~~
其他代码调用都完全一样啊 executeUpdate可以正常 executeQuery不正常 我想错误应该这几行代码里吧
谢谢楼上几位提供思路 还麻烦各位继续啊
网友回复:要不你贴贴错误信息吧
网友回复:errormessage是在哪定义的,不看完整代码,还真不好查原因
网友回复:谢谢AWUSOFT 果然是其他地方有错
网友回复:errormessage是定义在这个javabean里的
问题已解决了,可还是不明白
ResultSet list_pc=myDB.executeQuery("sql");
if(!myDB.geterror().equals("")) throw new Exception(myDB.geterror());//---放在这里就可以在错误页面显示错误信息了
while(list_pc.next()){
out.print(" <option value='" list_pc.getString(1) "'>");
out.print(list_pc.getString(2));
out.print(" </option>");
}
list_pc.close();
myDB.closeStmt();
myDB.closeConn();
if(!myDB.geterror().equals("")) throw new Exception(myDB.geterror());//----放在这里就显示NULL
可我用executeUpdate()的时候 if(!myDB.geterror().equals("")) throw new Exception(myDB.geterror());这句都是放在myDB.closeStmt();
myDB.closeConn(); 后面的,都可以在JSP页面现实错误信息啊
这是为什么???
再次谢谢AWUSOFT
关键字:executeQuery,异常,无法,现实,网页,
上一篇:配置Struts环境
下一篇:下面没有链接了











文章评论
共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面