java如何处理while循环中的异常?
我在java遇到过这样的情况:
while(resultset.next()){
try{
//some executable prepared statements written
}
catch(MySQLIntegrityConstraintViolationException ex){
//block2
}
catch(SQLException ex){
//block1
}
}
现在,我想做的是,如果看到一个MySQLIntegrityConstraintViolationException
,我必须跳过它,继续下一个记录。。。
我找不到这样做的机制。
请有人建议应该怎么做,以便忽略例外情况
请让我知道。。事先非常感谢
# 1 楼答案
我想你可能会遇到任何其他异常,试着做以下操作,看看你是否遇到任何其他异常
# 2 楼答案
更好地了解您的数据库
这里有很多问题
1)您准备的对账单是否参与交易?(例如,它会回滚吗?)
2) 准备好的语句是否更新行
3) 在捕获并处理异常后,您能保证数据库处于已知状态吗
试图忽略例外是错误的做法。当前代码(如图所示)确实允许您在捕获异常后重复准备好的语句。”
MySQLIntegrityConstraintViolationException
告诉我数据库无法执行您要求它执行的操作;可能是重复的密钥或涉及所需外键的删除您需要了解数据库表的约束,才能真正知道应该如何响应此异常
在插入重复项的情况下,我曾经遇到过这样的情况:我必须告诉db引擎忽略DUP,或者指示应该将DUP传输到一个表/文件
这里最好的答案是理解你准备好的声明为什么抛出异常,然后计划如何应对这种情况。如果你已经知道这一点,请把它添加到问题中,否则我们将抓住救命稻草