java中数据库连接异常如何捕捉? 10

jsp页面<%ConnDBconn=newConnDB();Stringsql="selectidfrommytable";ResultSetrs=conn.execut... jsp页面
<%
ConnDB conn=new ConnDB();
String sql="select id from mytable";
ResultSet rs=conn.executeQuery(sql);
while(rs.next()){
id=rs.getInt("id");
}
rs.close();
conn.close();
%>
当数据库没有启动时,执行到 ResultSet rs=conn.executeQuery(sql);这一行提示错误.
如何捕捉到这个异常,并且jsp页面有提示
当前这个错误如何办呢?
展开
 我来答
jingmentudou
2014-10-10 · TA获得超过486个赞
知道小有建树答主
回答量:210
采纳率:100%
帮助的人:54.7万
展开全部
ResultSet rs = null;
try {
rs=conn.executeQuery(sql);

while(rs.next()){
id=rs.getInt("id");
}

} catch (Exception e) {
e.printStackTrace();
}finally{
rs.close();
conn.close();
}
更多追问追答
追问
在第3行rs=conn.executeQuery(sql);报错啊
我想出现这个错误时 页面友好提示 错误
追答
在catch里面返回一个提示语到前台页面接收显示就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伦秋双wA
推荐于2016-03-13 · TA获得超过2.4万个赞
知道大有可为答主
回答量:2.4万
采纳率:56%
帮助的人:2.9亿
展开全部
package com.jdbc;
import java.sql.Connection; //代表对特定数据库的连接
import java.sql.DriverManager; //处理数据的调入并且对产生新的数据库连接提供支持
import java.sql.ResultSet; //控制执行查询语句得到的结果集
import java.sql.SQLException;
import java.sql.Statement; //代表一个特定的容器,容纳并执行一条SQL语句
public class JdbcText {
// URL数据库连接串信息,ip是你服务器的IP地址,“80”为默认端口,“orcl”为sid
String URL = "jdbc:oracle:thin:@ip:80:orcl";
String user = "scott"; //数据库用户名
String password = "password"; //登陆数据库密码
Connection conn = null;
Statement stmt;
// 初始化连接
public JdbcText(){
try
{
//构造驱动实例
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// 与url指定的数据源建立连接
conn = DriverManager.getConnection(URL, user, password);
System.out.println("成功连接数据库!");
// 采用Statement进行查询
stmt = conn.createStatement(); // 创建连接状态对象
} catch (Exception e)
{
System.out.println("连接数据库失败!");
e.printStackTrace();
}
}
// 执行查询 获取结果存入容器中
public ResultSet executeQuery(String sql) {

ResultSet rs = null;
try
{
rs = stmt.executeQuery(sql); //执行SQL语句,将获取内容存入 rs
} catch (SQLException e)
{
System.out.println("SQL语句书写错误!");
e.printStackTrace();
}
return rs;
}
public void close() {
try
{
conn.close();
stmt.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) {

ResultSet rs;
JdbcText jdbc = new JdbcText();
rs = jdbc.executeQuery("SELECT empno,ename from emp"); //从emp表中查询数据
try
{
while (rs.next()) // 遍历结果集
{
System.out.print(rs.getString("empno"));
System.out.println(":" + rs.getString("ename"));
}
} catch (Exception e)
{
e.printStackTrace();
}
jdbc.close();
}
}
首先保证你Oracle相关服务是正常打开的
可能出项的异常:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
没有加载数据库驱动,执行代码 看查询结果就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
29cyy
2014-10-10 · TA获得超过2185个赞
知道小有建树答主
回答量:2826
采纳率:45%
帮助的人:567万
展开全部
页面应该有显示啊,500内部服务器异常
更多追问追答
追问
如何友好提示这个
追答

那就像楼上说

 String mes = "";
 try{
     ConnDB conn=new ConnDB(); 
     String sql="select id from mytable"; 
     ResultSet rs=conn.executeQuery(sql); 
     while(rs.next()){
       id=rs.getInt("id");
     }
 }catch(Exception e){
     //在这里
     mes = "服务器繁忙,请稍后再试";
     out.print(mes);    
 }finally{  
     rs.close();
     conn.close(); 
 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式