iteye_7262 2012-07-20 16:34
浏览 706
已采纳

Java的异常捕获该怎么写?

各位大大好.

问题如下:

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

 

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

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

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

 

    /**
     * 删除
     */
    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

这个画面.


请问怎么实现?

谢谢大大们!!!

  • 写回答

5条回答 默认 最新

  • asialee029 2012-07-20 19:01
    关注

    思想就是dao抛出异常,service接着抛出,controller也不要管,一直到ExceptionResolver进行拦截,然后返回错误信息就可以了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境
  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题