try {
Statement stat = con.createStatement();
stat.execute("CREATE DATABASE test");
} catch (SQLException ex) {
ex.printStackTrace();
}
我已经有了一个名为TEST的数据库,现在执行上述代码,程序报错,提示:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]数据库 'test' 已存在。
虽然提示的SQLException,但并没有进入被catch 到,而是程序直接挂掉.
怎么解决能不让程序挂掉,而是给个提示?
catch (SQLException ex) {改成
catch (Exception ex) {
看看能否捕获!
但程序没运行到catch (SQLException ex) {
ex.printStackTrace();
}报错是在stat.execute("CREATE DATABASE test");这句上面的.这样程序就直接挂掉了,我想让程序提示错误,而不是挂掉.
try {
Statement stat = con.createStatement();
stat.execute("CREATE DATABASE test");
} catch (SQLException ex) {
ex.printStackTrace();
}
System.out.println("我还在运行,我能继续做我的工作!"); // 你增加这一句看看如果那句话能打印出来,就不是什么挂掉,是你的代码逻辑有问题!
Statement stat = con.createStatement();
stat.execute("CREATE DATABASE test");
} catch (Exception ex) { // 这里应该修改一下!
ex.printStackTrace();
System.out.println("我想继续做我的工作...");
}
System.out.println("我还在运行,我能继续做我的工作!"); // 你增加这一句看看
stat.execute("CREATE DATABASE test");
大俠 創建數據庫test
你已經有了 怎么創建啊 當然掛掉然后rs就沒返回,怎么可能繼續執行下去啊
1 更新的JDBC版本,也许是BUG也说不定
2 更新你的JDK到5.0/6.0OVER 祝你好运!
如果你想给个提示,你可以将catch语句改为:
catch (SQLException ex) {
System.out.println("数据库错误");
}
再来个CREATE DATEBASE TEST
不错才怪呢。.
我就服了。...
只是想把这个错误捕捉到.想WINDOS新建文档,如果跟其他同名,不也会提示错误嘛,总不至于WINDOS死机吧.