日期:2014-05-19  浏览次数:20695 次

Java的异常捕获该怎么写?
各位大大好.

问题如下:

我在写一个Spring mvc项目, 在dao层类中写了一个可能会执行失败的方法:

Java code

/**
 * 删除
 */
public void remove(int id) throws Exception {
    Session session = getSession();
    session.delete(session.load(Usergroup.class, id));
}



这个方法删除的记录可能跟别的表有外键关联,所以可能删除失败.

然后我在service层的类中调用它:
Java code

    /**
     * 删除
     */
    public Map<String, Object> remove(int id) {
        Map<String, Object> map = new HashMap<String, Object>();
        try {
            userGroupDao.remove(id);
            map.put("isSuccess", true);
        } catch (Exception e) {
            map.put("isSuccess", false);
            map.put("errorMsg", e.getMessage());
        }
        return map;
    }



我希望在service层调用这个方法时,如果失败就给返回值map加入错误信息, 然后 前端页面 显示错误,
而不是 显示Tomcat的

HTTP Status 500 -

type Exception report

这个画面.


请问怎么实现?

谢谢大大们!!!


------解决方案--------------------
你不是已经写了吗?这样不行吗?
------解决方案--------------------
你把remove返回的Map传给jsp页面,在页面里获取isSuccess == false就显示你Map里的errorMsg就行了阿

如果你是这样做的,那么错误肯定不是你期望的错
贴出你的完成错误信息