开发者社区 问答 正文

怎么捕获 mybtais的数据库异常啊? 400 报错

怎么捕获 mybtais的数据库异常啊? 400 报错

怎么捕获 mybtais的数据库异常啊

mybatis执行 数据增,删,改,查 不抛出异常。但是我想处理 数据库的异常  比如 sql语句语法错误执行失败啊,我想捕获怎么办

展开
收起
爱吃鱼的程序员 2020-06-01 12:03:13 668 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    在 controller 里面,try catch 这个操作######我刚才测试了一下 ,故意写错,是抛出异常了,但是不是我捕获的######public void add(BusinessObject obj){ sqlSession.insert(obj.getSqlID(), obj); }######我发一下 代码你看看 就知道了######但是 他本身不抛出异常######我会啊######你在catch 里面不会 throw 啊????######

    你这样。。。

    try{
      //你要做的操作,这些操作要保证你可以调用那个有错误的 mapper
    }catch(Exception e){ //你可以自定义异常
      log.debug(e.getMessage()); //输出利于调试的信息,这样不就捕获异常了
      //如果你想把这个异常抛出,就。。。
      throw new Exception(e.getMessage());
    }

     

    ###### public void add(BusinessObject obj){
           
            sqlSession.insert(obj.getSqlID(), obj);

        }######

    他自己不抛出


    ######我咋 捕获
    ######

    无论这个操作本身抛不抛异常,只要你这样写:

    public void add(BusinessObject obj){ 
    	        try {
    				sqlSession.insert(obj.getSqlID(), obj);
    			} catch (Exception e) {
    				e.printStackTrace();
    			} 
    	    }
    只要sql有错误,都能捕获到这样异常,OK???

    ###### ######

    真的吗


    ######但是我刚才测试 ,估计不指定sqlID ,异常之后 我就没有捕获到
    2020-06-01 12:03:14
    赞同 展开评论