当世界在考验你写的代码

相信很多做开发的朋友都听过"断言",但是却很少用过它

在java里面它长这样:

/**
     * 断言的第一个例子
     */
    public static void useAssertExt2() {
        boolean isOk = 1 > 2;
        try {
            assert isOk : "程序错误";
            System.out.println("程序正常");
        } catch (AssertionError err) {
            System.out.println(err.getMessage());
        }
    }        

在C++里它长这样:

#include <iostream>
#include <cassert>
using namespace std;
 
int main() {
    int i = 22;
    assert(i != 22);
    system("pause");
    return 0;
}

关键字"assert"
它的作用就是当条件(如: i !=22)为false的时候退出程序.
用大白话来说就是"当一件你认为不可能发生的事情发生了就退出程序".这听起来好像是废话啊.因为按照逻辑不可能发生的事情怎么会发生呢?既然那件事不可能发生那我们还检测它干嘛?一点意义都没有啊.
关键点就在这里:不可能发生的事情,是"你认为"不可能的!
人的思维是有局限的,我们没有考虑到的事情多了去了.在写代码的时候我们只考虑常规的事件发生,也就是假设它的运行环境在我们预期的理想环境下运行,但是当我们把软件发布出去在真实的世界运行的时候,告诉你什么事情都可能发生!
就比如:你编程的时候觉得1+1=2这个等式绝对成立.但是你可能没考虑过老鼠咬线导致断路,然后引发系统紊乱,这个时候1+1=2就可能不成立了.虽然这种事件的概率很小但是它确实是有可能发生的.
这就是为啥要引进断言的缘故.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值