断言语句 assertion

1:示例

Ensure.that(obj != null && Objects.equals(obj.getInteger("code"), SUCCESS_CODE)).isTrue()
        .orThrowCustomizedException(new RobotBizException(RobotErrorCodeEnum.QUERY_PLAYERS_FAIL));

这段代码是Java语言中的一段断言(assertion)语句,用于检查一个对象是否满足特定的条件。

  1. Ensure.that(obj != null && Objects.equals(obj.getInteger("code"), SUCCESS_CODE)):这是一个断言语句,它检查两个条件:obj不为null,并且obj的"code"字段的值等于SUCCESS_CODE。如果这两个条件都满足,那么断言成功,程序继续执行;否则,断言失败,程序抛出异常。

  2. .isTrue():这是断言方法的一部分,表示断言的结果应该是真的。如果断言失败,这个方法会抛出一个异常。

  3. .orThrowCustomizedException(new RobotBizException(RobotErrorCodeEnum.QUERY_PLAYERS_FAIL));:这是断言方法的另一部分,表示如果断言失败,应该抛出一个自定义的异常。这个异常的类型是RobotBizException,并且它的参数是一个枚举值RobotErrorCodeEnum.QUERY_PLAYERS_FAIL

总的来说,这段代码的作用是检查一个对象obj是否不为null,并且其"code"字段的值等于SUCCESS_CODE。如果不满足这些条件,就抛出一个RobotBizException异常。

2:简介

断言(assert)语句一般用于程序不准备通过捕获异常来处理的错误

当发生某个错误时,要求程序必须立即停止执行。在调试代码阶段让断言语句发挥作用, 这样就可以发现一些致命的错误,当程序正式运行时就可以关闭断言语句,但仍把断言语句保留在源代码中,如果以后应用程序又需要调试,可以重新启用断言语句。

例如:账号交易时,对于支出的金额为正数(收入+支出=纯收入)或者收入的金额为负数,程序必须立即停止执行,同时发现错误,当正式收益时,就可以避开错误,但仍保留断言语句在程序中,之后再次调试时,可以重新启动断言也可以不断发现新的问题和解决语句。

3:优点

1:使用Assert可以避免很多的if else嵌套,比起抛出异常的方式,Aseert能更简洁。 2:Assert可以减少代码单侧case(案例),从而减少代码单侧代码量,还能提高代码单侧覆盖率 3:断言能够帮助别人或未来的你理解代码,找出程序中逻辑不对的地方。一方面,断言会提醒你某个对象应该处于何种状态

你可能感兴趣的:(面试,数据库,java,bug)