benym的知识笔记 benym的知识笔记
🦮首页
  • Java

    • Java-基础
    • Java-集合
    • Java-多线程与并发
    • Java-JVM
    • Java-IO
  • Python

    • Python-基础
    • Python-机器学习
  • Kafka
  • Redis
  • MySQL
  • 分布式事务
  • Spring

    • SpringIOC
    • SpringAOP
🦌设计模式
  • 剑指Offer
  • LeetCode
  • 排序算法
🐧实践
  • Rpamis

    • Utils
    • Exception
    • Security
  • 归档
  • 标签
  • 目录
🦉里程碑
🐷关于
GitHub (opens new window)

benym

惟其艰难,才更显勇毅🍂惟其笃行,才弥足珍贵
🦮首页
  • Java

    • Java-基础
    • Java-集合
    • Java-多线程与并发
    • Java-JVM
    • Java-IO
  • Python

    • Python-基础
    • Python-机器学习
  • Kafka
  • Redis
  • MySQL
  • 分布式事务
  • Spring

    • SpringIOC
    • SpringAOP
🦌设计模式
  • 剑指Offer
  • LeetCode
  • 排序算法
🐧实践
  • Rpamis

    • Utils
    • Exception
    • Security
  • 归档
  • 标签
  • 目录
🦉里程碑
🐷关于
GitHub (opens new window)
  • Rpamis

    • Utils

      • 无惧性能烦恼-12款Bean拷贝工具压测大比拼
      • Bean工具类-RpamisBeanUtils
    • Exception

      • MethodHandle结合LambdaMetafactory-使用方法及性能测试
      • 优雅的参数校验与全局异常-代码规范的天生落地
      • 异常工具类-ExceptionFactory
      • 异常工具类-Assert
        • Assert
        • 基本使用
    • Security

      • Rpamis-security-基于Mybatis-Plugin的一站式加解密脱敏安全组件
      • Rpamis-security-技术背景
      • Rpamis-security-原理解析
  • 开源项目
  • Rpamis
  • Exception
benym
2023-02-09
目录

异常工具类-Assert

# Assert

Assert断言工具类是直接从org.springframework.util.Assert中拷贝出来的,api的用法和定义和Spring Assert一模一样,在Spring Assert的使用经验可无缝迁移到该Assert中

区别点在于对于断言的异常,不再像Spring一样抛出IllegalArgumentException,默认转为抛出自定义的ValidException,与全局异常紧密结合

同时提供了所有重载的接口,支持通过AbstractException子类class,构造异常实例,根据class抛出对应异常,目前支持推断所有自定义异常中,具有单字符串构造方法的异常实例

Assert解决的问题是经过前置参数过滤后,业务层面的校验,不得不包装统一返回体,和经过if else判断后进行返回的场景

或是结合全局异常后,每次抛出异常必须得写try catch代码的场景

目的在于进一步精简代码

# 基本使用

以isTrue为例,判断条件是否成立,如果不成立则抛出异常,同时带有异常message

Assert.isTrue(0==1, "条件不满足");
1
1

支持推断AbstractException子类

Assert.isTrue(0==1, "条件不满足", BizNoStackException.class);
1
1
编辑 (opens new window)
#开源项目#Rpamis#Exception
上次更新: 2023/11/26, 00:16:12
异常工具类-ExceptionFactory
Rpamis-security-基于Mybatis-Plugin的一站式加解密脱敏安全组件

← 异常工具类-ExceptionFactory Rpamis-security-基于Mybatis-Plugin的一站式加解密脱敏安全组件→

最近更新
01
SpringCache基本配置类
05-16
02
DSTransactional与Transactional事务混用死锁场景分析
03-04
03
Rpamis-security-原理解析
12-13
更多文章>
Theme by Vdoing | Copyright © 2018-2024 benym | MIT License
 |   |   | 
渝ICP备18012574号 | 渝公网安备50010902502537号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式