改写抛出异常的方法

简介: 改写抛出异常的方法

抛出异常的方法很好用,但是要配合错误码也就是api里的ErrorCode

image.gif

但是我们如果不需要错误码,想自己定义一个异常我们就要改写一下他的方法。

这是我写的一个判断方法:

@Override
    public void examine(List<TbSlsysXmtpfRespVO> examineReqVO) {
        // 生成提交批次号
        String submitBatchNo = NumberGenerate.generateNumber(prefix);
        // 发送到审批流程
        String processInstanceId = bpmUtil.submitToBpm(submitBatchNo, PROCESS_KEY);
        for (TbSlsysXmtpfRespVO tbSlsysXmtpfRespVO : examineReqVO) {
            //判断碳排放管理提交审核的每条数据是不是在算力系统里已经审核完成(判断条件为:设备编号、填报日期为同一天)
            if (tbSlsysSlxtInfoMapper.selectOne(TbSlsysSlxtInfoDO::getTtbSlsysSbbh,tbSlsysXmtpfRespVO.getTtbSlsysSbbh(),
                    TbSlsysSlxtInfoDO::getTtbTbDate,tbSlsysXmtpfRespVO.getTtbTbDate()) != null && tbSlsysSlxtInfoMapper.selectOne(TbSlsysSlxtInfoDO::getTtbSlsysSbbh,tbSlsysXmtpfRespVO.getTtbSlsysSbbh(),
                    TbSlsysSlxtInfoDO::getTtbTbDate,tbSlsysXmtpfRespVO.getTtbTbDate()).getStatus() == 3){
                TbSlsysXmtpfDO updateObj = BeanUtils.toBean(tbSlsysXmtpfRespVO, TbSlsysXmtpfDO.class);
                // 每条数据保存提交批次号
                updateObj.setSubBatchNo(submitBatchNo);
                // 每条数据保存审批流 processInstanceId
                updateObj.setProcessInstanceId(processInstanceId);
                updateObj.setStatus(2);
                tbSlsysXmtpfMapper.updateById(updateObj);
            }else{
                throw exception(tbSlsysXmtpfRespVO.getTtbSlsysSbbh()+"该设备未完成审核");
            }
        }
    }

image.gif

我判断这个条数据是不是在另一个表里已经审核完成,如果没有审核完成就抛出异常,只想拼接一个设备编号未完成审核的字符串,让我们ctrl点进去exception里面看看

image.gif

绿色的就是我新写的方法

抛出方法:

 

public static ServiceException exception(String msg) {
        return stringMsg(msg);
    }

image.gif

public static ServiceException stringMsg(String messagePattern, Object... params) {
        return exception0(GlobalErrorCodeConstants.BAD_REQUEST.getCode(), messagePattern, params);
    }

image.gif

只是略微改变了参数,不接收错误码的code和msg,只单纯传一个字符串抛给前端显示。

实现:

image.gif


目录
相关文章
|
SQL Java 数据库连接
mybatis @Select注解中当参数为空则不添加该参数的判断
public interface OrderMapper extends SqlMapper{ @Select("select * from tbl_order where room like #{room} and mydate like #{my...
4659 0
|
5月前
|
存储 前端开发 JavaScript
条件判断的模式问题之如果混淆了断言和卫述如何解决
条件判断的模式问题之如果混淆了断言和卫述如何解决
|
7月前
|
JSON 数据格式
这个错误是由于在解析JSON数据时出现了问题。你可以尝试使用`try-except`语句来捕获异常
这个错误是由于在解析JSON数据时出现了问题。你可以尝试使用`try-except`语句来捕获异常
89 2
|
7月前
|
存储 SQL Oracle
|
编译器 C++
C++中构造函数调用规则
C++中构造函数调用规则
115 0
你真的明白关于迭代器的方法、使用异常、并发修改异常介绍嘛?
关于迭代器的方法、使用异常、并发修改异常介绍的使用
146 0
你真的明白关于迭代器的方法、使用异常、并发修改异常介绍嘛?
|
SQL 存储 Java
mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集
mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集 需求: 1.直接执行前端传来的任何sql语句,parameterType="String", 2.对于任何sql语句,其返回值类型无法用resultMap在xml文件里配置或者返回具体的bean类型,因此设置resultType="java.util.Map",但是Map并不保证存入取出顺序一致, 因此设置resultType="java.util.LinkedHashMap",为保证查询的字段值有序(存入与取出顺序一致)所以采用LinkedHashMap。
2477 0
SQL查询语句的书写顺序和执行顺序
SQL查询语句的书写顺序和执行顺序
SQL查询语句的书写顺序和执行顺序

热门文章

最新文章