Java对异常如何进行判断和处理??

现在有两个错误:第一个:java.sql.SQLException:ORA-00001:违反唯一约束条件(SHIEP.U_TEACHER)ORA-06512:在"SHIE... 现在有两个错误:
第一个:
java.sql.SQLException : ORA-00001: 违反唯一约束条件 (SHIEP.U_TEACHER)ORA-06512: 在 "SHIEP.INSERTTEACOU", line 5ORA-06512: 在 line 1
at oracle.jdbc.driver.DatabaseError.throwSqlException( DatabaseError.java:111)
之后的报错信息 略。。。。

是关于违反Oracle一个唯一性约束U_TEACHER

第二个:
java.sql.SQLException : ORA-00001: 违反唯一约束条件 (SHIEP.U_ROOM)ORA-06512: 在 "SHIEP.INSERTTEACOU", line 5ORA-06512: 在 line 1
at oracle.jdbc.driver.DatabaseError.throwSqlException( DatabaseError.java:111)
之后的报错信息略。。。。

是关于违反Oracle另一个唯一性约束U_ROOM

我是Java新手。我想问下如何在Java代码中判断操作违反了哪个约束??
在异常处理这一块我要进行什么样的判断??
展开
 我来答
z253005528
推荐于2017-09-18 · TA获得超过101个赞
知道答主
回答量:90
采纳率:100%
帮助的人:44万
展开全部
try{
//操作数据库代码

}catch(Exception e){
if(e.getMessage().indexOf("U_TEACHER")>0){
System.out.println("是关于违反Oracle一个唯一性约束U_TEACHER");

}else if(e.getMessage().indexOf("U_ROOM")>0){
System.out.println("是关于违反Oracle一个唯一性约束U_ROOM");

}

}
疏狂山人
2013-04-10 · TA获得超过1940个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:218万
展开全部
首先是你想怎么处理?
数据库报错了,java代码怎么处理你这个insert都不能继续下去了
所以你要么直接将错误抛到页面方法后面加throws Exception
要么自行处理
try {
//你的调用insert的方法
} catch (SQLException e) {
//这里自定义处理方法
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冲锋斗篷
2013-04-10 · TA获得超过253个赞
知道小有建树答主
回答量:294
采纳率:0%
帮助的人:146万
展开全部
做好事物管理,违反了就全部回退。最好在插入前自己判断下有没有重复主键,有就不去连接数据库插入数据了,直接在那将异常抛到前端
追问
不用回退。违反约束,该操作就是失败的,我的问题是如何在Java判断它是那一种SQLException
追答
你是要判断是哪个字段违反了约束?那就根据插入对象来判断,违反约束肯定是主键,要不就用截取异常信息的字符串来做
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
成功的纯真nK
2013-04-10
知道答主
回答量:10
采纳率:0%
帮助的人:8.8万
展开全部
在java中判断数据库中操作违反了哪个约束,可以通过try-catch块来捕捉,数据库中违反约束的情况,在java中是通过异常的形式来显示,具体违反的操作需要查看sql语句
追问
首先我知道try-catch,我遇到的问题是我不知道如何去捕捉不同的SQLException,对SQLException如何去区分。。。?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式