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

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

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

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

    • Utils
    • Exception
  • 归档
  • 标签
  • 目录
🦉里程碑
🐷关于
🐱ChatGPT
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
  • 归档
  • 标签
  • 目录
🦉里程碑
🐷关于
🐱ChatGPT
GitHub (opens new window)
  • Rpamis

    • Utils

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

      • MethodHandle结合LambdaMetafactory-使用方法及性能测试
      • 优雅的参数校验与全局异常-代码规范的天生落地
      • 异常工具类-ExceptionFactory
      • 异常工具类-Assert
        • Assert
        • 基本使用
  • 开源项目
  • 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)
#Exception
上次更新: 2023/05/13, 18:05:21
异常工具类-ExceptionFactory

← 异常工具类-ExceptionFactory

最近更新
01
COLA-statemachine在多级审核业务中的实践
08-25
02
单测覆盖率工具在多模块项目中的集成
07-11
03
Sentinel-Dashboard持久化生产环境解决方案
07-05
更多文章>
Theme by Vdoing | Copyright © 2018-2023 benym | MIT License
 |   |   | 
渝ICP备18012574号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式