【自定义异常抛出工具类】

自定义异常抛出工具类

package com.nearfartec.travel.order.utils;

import cn.hutool.core.collection.IterUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.nearfartec.framework.lib.exception.ServiceException;
import org.apache.commons.lang3.StringUtils;

import java.util.List;

/**
 * 异常抛出工具类
 *
 * @author Super·Bo
 * @date 2022/4/6 10:44
 */
public class AssertUtils {
    /**
     * 不可为空或空字符串
     * 若参数为空,抛ServiceException
     *
     * @param param 单个字符串
     * @param msg   异常信息
     */
    public static void strIsBlank(String param, String msg) {
        if (StringUtils.isBlank(param)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 字符串数组不可为空或空字符串
     * 若参数为空,抛ServiceException
     *
     * @param params 字符串数组
     * @param msg    异常信息
     */
    public static void strIsBlank(String[] params, String msg) {
        for (String param : params) {
            strIsBlank(param, msg);
        }
    }

    /**
     * 两个字符串一致则抛异常
     *
     * @param param1 数据
     * @param param2 数据
     * @param msg    错误信息
     */
    public static void strIsEqual(String param1, String param2, String msg) {
        if (StrUtil.equals(param1, param2)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 两个字符串不一致则抛异常
     *
     * @param param1 数据
     * @param param2 数据
     * @param msg    错误信息
     */
    public static void strIsNotEqual(String param1, String param2, String msg) {
        if (!StrUtil.equals(param1, param2)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 若参数为null,抛ServiceException
     *
     * @param param 需判断obj
     * @param msg   异常信息
     */
    public static void isNull(Object param, String msg) {
        if (ObjectUtil.isNull(param)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 若参数不为null,抛ServiceException
     *
     * @param param 需判断obj
     * @param msg   异常信息
     */
    public static void isNotNull(Object param, String msg) {
        if (ObjectUtil.isNotNull(param)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 集合为空,抛ServiceException
     *
     * @param list 集合
     * @param msg  异常信息
     */
    public static void isEmpty(List<?> list, String msg) {
        if (IterUtil.isEmpty(list)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 集合不为空,抛ServiceException
     *
     * @param list 集合
     * @param msg  异常信息
     */
    public static void isNotEmpty(List<?> list, String msg) {
        if (IterUtil.isNotEmpty(list)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 校验数据是否为空
     *
     * @param date 入参
     * @param msg  错误提示
     * @return String为空 ? "" :  msg
     */
    public static String validNotBlank(String date, String msg) {
        return StringUtils.isBlank(date) ? msg : "";
    }

    /**
     * 校验数据是否为空
     *
     * @param obj 入参
     * @param msg 错误提示
     * @return obj为空 ? "" :  msg
     */
    public static String validNotNull(Object obj, String msg) {
        return obj == null ? msg : "";
    }

    /**
     * 校验数据是否为空
     *
     * @param list 入参
     * @param msg  错误提示
     * @return list为空 ? "" :  msg
     */
    public static String validNotEmpty(List<?> list, String msg) {
        return list == null || list.size() == 0 ? msg : "";
    }

    /**
     * 校验数据不能为false
     *
     * @param date 入参
     * @param msg  错误提示
     * @return list为空 ? "" :  msg
     */
    public static String validNotTrue(boolean date, String msg) {
        return !date ? msg : "";
    }

    /**
     * 为false抛异常
     *
     * @param param 数据
     * @param msg   错误信息
     */
    public static void isFalse(boolean param, String msg) {
        if (!param) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 为true抛异常
     *
     * @param param 数据
     * @param msg   错误信息
     */
    public static void isTrue(boolean param, String msg) {
        if (param) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 两个对象一致则抛异常
     *
     * @param param1 数据
     * @param param2 数据
     * @param msg    错误信息
     */
    public static void isEqual(Object param1, Object param2, String msg) {
        if (ObjectUtil.equal(param1, param2)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 两个对象不一致则抛异常
     *
     * @param param1 数据
     * @param param2 数据
     * @param msg    错误信息
     */
    public static void isNotEqual(Object param1, Object param2, String msg) {
        if (!ObjectUtil.equal(param1, param2)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 集合里面存在则抛异常
     *
     * @param list  数据
     * @param param 数据
     * @param msg   错误信息
     */
    public static void isContains(List<?> list, Object param, String msg) {
        if (list.contains(param)) {
            throw new ServiceException(msg);
        }
    }

    /**
     * 集合里面不存在则抛异常
     *
     * @param list  数据
     * @param param 数据
     * @param msg   错误信息
     */
    public static void isNotContains(List<?> list, Object param, String msg) {
        if (!list.contains(param)) {
            throw new ServiceException(msg);
        }
    }

}

使用

        OrderInfo orderInfo = this.getById(orderId);
        AssertUtils.isNull(orderInfo, "订单信息不存在");

        Long parentOrderId = orderInfo.getParentOrderId();
        AssertUtils.isNotNull(parentOrderId, "此订单非母单");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值