如何处理SQLException?(100分)

  • 主题发起人 主题发起人 hongsen
  • 开始时间 开始时间
H

hongsen

Unregistered / Unconfirmed
GUEST, unregistred user!
如何处理SQLException?
 
如果是比较严重的错误,例如,数据库无法连接等.可以让程序异常退出(system.exit(1))
如果是操作数据库失败,例如重复主键,则考虑在方法中返回false
public boolean insertUser(UserBean user) {
try {
//connect and insert
return true
}catch(Exception e) {
return false
}
}
根据不同情况做不同处理
 
非常感谢您快速的回答。
对你的回答,有以下疑问:
(1)调用(system.exit(1))是不是让程序死得太突然了,连提示都没有。
我觉得如果有GUI界面,应该有提示才好。
(2)如果是操作数据库失败,例如重复主键,则考虑在方法中返回false
返回false后我们又怎么处理呢?我们可以通过编程让其再次成功吗?不可能
吧。 我觉得这样作的好处也许只是给上层提供一个更符合上下文的异常或提示罢了。

(3)对于SQLException, 能否对getErrorCode() ,getSQLState() ,getNextException() 作些编程。
我的感觉是好像没有什么作用,因为getErrorCode()是和数据库提供商相关的。
 
(1) 可以在
JOptionPane.showMessage("具体怎么写忘记了");
System.exit(1)
严重的情况才异常推出
(2)我的建议是把对数据库的操作放到一个类中.
例如
public class UserManager {
public static boolean insertUser(User user) {//具体实现}
public static boolean deleteUser(User user) {}
public static boolean updateUser(User user) {}
}
主键冲突的问题通常是用户输入的错误,这时候应该返回让用户重新输入.
如果是程序的问题,就应该考虑程序的逻辑实现了.
(3)对这些get方法不太熟悉,多看看api文档,会很有帮助的
 
后退
顶部