我们在写程序的过程中,有时候可能会由于一些程序输入或者一些操作失败之后导致程序奔溃。
为了提高代码的健壮性,我们应该对这些情况进行相应的处理。方法一般为两种:
1. 对于可以预见性的错误,可以使用if和循环来进行检查:
比如: 让用户输入数据时,如果我们需要的是一个非零值,但是用户输入了小于零或者非数字的值 就可能导致程序奔溃,这些可能输入的值是我们可以想到的。
我们可以使用if进行判断,如果输入了这些值就中断程序, 或者使用循环,输入错误,给出提示后 让用户再次输入。
2. 对于一些我们无法预见的错误:
比如: 函数返回NULL,获取从文件读取数据失败,或者函数在传入参数是是否非法或者什么是 否非法,对于这些情况,我们可以使用assert()断言函数来验证。
assert()是在头文件#include <assert.h>中的一个断言函数
assert(条件), 如果传入的值为真,则什么也不做,程序正常运行,如果值为假或者NULL,调用 absort()函数结束程序。例如: assert(1>0 && 1 < 5) 或者 assert(p) // p为指针