java 有个一删除方法··因为被删除对象被外键引用··不能删除···所以加try catch 提示被引用不能删除

一直不进Catch块···publicintdeleteSellManner()throwsException{inti=0;try{intid=Integer.pars... 一直不进Catch块···
public int deleteSellManner()throws Exception{
int i=0;

try {
int id = Integer.parseInt(getRequest().getParameter("id"));
SellManner add = sellMannerDao.findById(id);
sellMannerDao.delete(add);
} catch (Exception e) {
i=1;
return i;
}
return i;
}
返回一直是0 单步走完try 就到最后return了

在线等真心求助··新手··谢谢
展开
 我来答
suxueduwang
2013-01-31 · TA获得超过654个赞
知道小有建树答主
回答量:209
采纳率:33%
帮助的人:239万
展开全部
调试最主要看数据
① 你的方法里面直接就是 try catch ,所以 public int deleteSellManner() 后面的 throws Exception 是多余的,可以不要
② 既然不进入 catch 就是执行 delete 没有 throw 或者捕获到错误,
2-1、看一下你的 add 是什么内容,然后对应同样的属性值和 sellMannerDao.delete(add)
中的 sql 语句到数据库 delete 一下,记得要确定数据,删错了就麻烦了
2-2、如果数据库 delete 报外键关联错误,那就是你的 sellMannerDao.detele(add) 方法有问题了
,基本是捕获了异常而没有抛出异常引起的,例如
public void delete(SellManner add){
try{
// 这里执行方法,然后捕获到异常了
**.delete(**);
}catch(Exception e){
// 这里要把异常 throw 出来,才可以把外面调用的一层处理,要么就这个方法里面不要
// 加 try catch 了
throw e;
}
}
百度网友8a776f9
2013-01-31 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:111万
展开全部
被外键引用的话需要先删除外键那条记录,再删除本条记录。 否则你永远也删不了。
或者你把数据库表的外键约束删除了,估计你们经理不会让你这么做的~~

不进catch 是因为你上面的代码没有异常抛出吧。。。 看看异常是否被你的DAO类吞了。
追问
您的意思是DAO类有可能吧一场给吞了··那我在DAO里面做 try catch  行吗  ?  而且我是新手不知道怎么看异常堆栈  就是想现在有外键约束的时候  不删除··弹出一个窗口提示一下不能删 然后返回列表页面就行了
追答
看异常堆栈只要在catch里面打 e.printStackTrace(); 就可以在控制台看到异常的堆栈信息。(如果有异常的话)

首先看看dao里面有没有捕获异常,如果有捕获try/catch的话就在catch里写throw new Exception(e);把异常抛出。如果没有的话,就是你的dao没有捕获异常,如果发生异常的话就会直接抛出异常给上一层调用者,你就不用处理了。

关于你的程序,你说走完try了 就证明你的程序没有抛出异常。。。 所以就没有到catch里。
一个可能是你的dao把异常吞了。
还有一个可能是你的程序正常走完了,没有异常。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shel阿萨辛
推荐于2018-04-21 · 超过12用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:20万
展开全部
从try catch的原理上讲 应该就是 虽然不能删除 但是try 块里面并没有抛出异常 所以才不会到catch块中
你这个delete方法中 可以试试 抛出一个异常
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
何化冰
2013-01-31 · 超过29用户采纳过TA的回答
知道答主
回答量:210
采纳率:100%
帮助的人:57万
展开全部
把return换成throw 试试呢,看看异常堆栈
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiubinsys
2013-01-31 · 超过14用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:41.7万
展开全部
sellMannerDao.delete(add); 你看看这个有抛出异常么??要是没抛出异常你catch个屁屁啊!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式