成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

斷言(assert)有多重要,你不會不知道吧

開發(fā) 前端
編寫代碼時,我們總是會做出一些假設(shè),斷言就是用于在代碼中捕捉這些假設(shè)。斷言表示為一些布爾表達(dá)式,程序員相信在程序中的某個特定點(diǎn)該表達(dá)式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言而在部署時禁用斷言。

[[377333]]

本文轉(zhuǎn)載自微信公眾號「編程學(xué)習(xí)基地」,作者deroy 。轉(zhuǎn)載本文請聯(lián)系編程學(xué)習(xí)基地公眾號。  

斷言(assert)

編寫代碼時,我們總是會做出一些假設(shè),斷言就是用于在代碼中捕捉這些假設(shè)。斷言表示為一些布爾表達(dá)式,程序員相信在程序中的某個特定點(diǎn)該表達(dá)式值為真,可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言而在部署時禁用斷言。同樣,程序投入運(yùn)行后,最終用戶在遇到問題時可以重新啟用斷言。

簡單來說如果結(jié)果和你的預(yù)期一樣,那么OK,結(jié)果為真繼續(xù)運(yùn)行.如果結(jié)果和預(yù)期不符,那么程序會拋出一個系統(tǒng)級錯誤(不是異常),并且終止程序運(yùn)行。

assert() 用法

assert宏的原型定義在中,其作用是如果它的條件返回錯誤,則終止程序執(zhí)行,原型定義:

  1. #include <assert.h> 
  2. void assert( int expression );  //expression:布爾表達(dá)式 

assert的作用是現(xiàn)計算表達(dá)式 expression ,如果其值為假(即為0),那么它先向stderr打印一條出錯信息

然后通過調(diào)用 abort 來終止程序運(yùn)行。

示例:

  1. #include <stdio.h> 
  2. #include <assert.h> 
  3. int main(void) 
  4.  FILE* fp; 
  5.  fp = fopen("test.txt""w");//以可寫的方式打開一個文件,如果不存在就創(chuàng)建一個同名文件 
  6.  assert(fp); //所以這里不會出錯 
  7.  fclose(fp); 
  8.  fp = fopen("noexitfile.txt""r");//以只讀的方式打開一個文件,如果不存在就打開文件失敗 
  9.  assert(fp); //所以這里出錯 
  10.  fclose(fp); //程序永遠(yuǎn)都執(zhí)行不到這里來 
  11.  return 0; 

運(yùn)行報錯如下:

控制臺輸出如下:

  1. Assertion failed: fp, file D:\vs2019\Console\微信公眾號推送\微信公眾號推送\微信公眾號推送.cpp, line 11 

工程文件使用示例:

  1. void resize(int num) 
  2.     if(num<0) 
  3.         assert(nullptr); 
  4.     if(num >len) 
  5.   //... 

作者:夢凡

責(zé)任編輯:武曉燕 來源: 編程學(xué)習(xí)基地
相關(guān)推薦

2010-10-20 09:10:29

私有云

2021-09-07 11:20:02

binlogMySQL數(shù)據(jù)庫

2021-08-04 08:31:10

MySQL數(shù)據(jù)庫日志

2023-11-02 08:25:25

組件ReactUI

2025-04-17 02:30:00

2020-06-12 09:20:33

前端Blob字符串

2020-07-28 08:26:34

WebSocket瀏覽器

2021-08-08 21:53:40

Arthas指令表達(dá)式

2010-08-23 09:56:09

Java性能監(jiān)控

2011-09-15 17:10:41

2021-02-01 23:23:39

FiddlerCharlesWeb

2022-10-13 11:48:37

Web共享機(jī)制操作系統(tǒng)

2009-12-10 09:37:43

2020-06-12 07:36:33

Redis

2019-11-01 11:12:50

PythonExcelWindows

2018-06-28 08:40:23

Raid機(jī)械硬盤

2016-07-22 17:55:07

云計算

2021-10-17 13:10:56

函數(shù)TypeScript泛型

2020-08-11 11:20:49

Linux命令使用技巧

2012-11-23 10:57:44

Shell
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 性福视频在线观看 | 国产精品一区二区三区免费观看 | 亚洲精品一区二区网址 | 欧美一区二区三区在线免费观看 | 91精品久久久 | 91久久久久久久久久久久久 | 蜜桃视频一区二区三区 | 一区二区久久 | 国产精品18久久久久久白浆动漫 | 久久机热 | 91精品国产91久久久久久密臀 | 2019天天干天天操 | 久久亚洲国产 | 一区二区免费 | 久久精品色欧美aⅴ一区二区 | 午夜精品福利视频 | 精品在线播放 | 91影院 | 国产女人与拘做视频免费 | 一区二区三区免费观看 | 国产精品久久久久久久久免费相片 | 欧美日韩黄 | 国产成人精品视频在线观看 | 男女深夜网站 | 久久国产精品久久久久久 | 成人亚洲性情网站www在线观看 | 超碰8 | 欧美性video 精品亚洲一区二区 | 国产精品视频免费观看 | 人人澡视频 | 伊人99 | 黄网站免费在线看 | 丁香一区二区 | 日韩精品免费 | 免费av一区二区三区 | 一区二区三区韩国 | 国产精品三级久久久久久电影 | 国产aⅴ爽av久久久久久久 | 亚洲一区二区在线视频 | 亚洲成人一二区 | 99色视频|