一个应用系统要正确稳写地运行,必须要对各个函数的返回值进行正确的判断,若函数没有正确的持行,而上层应用又没有进行错误处理的话,程序很有可能进入到一个不确写的状态。从而导至系统的不稳定,那么当一个函数没有正确持行时,应当怎样返回才能使上层调用方便地知道函数没有正确持行而进行错误处理呢,又要怎样才能使错误处理代码简单而有效呢。
方案一:若函数成功返回,则返回一个正值,错误时返回一个负值。
如:return i (函数成功返回) return –ERR(函数出错时返回)。
在方案一中,有如下二个问题:
1. 若某个函数的正确返回值为负时(如一个数学运算函数)则上层调用就不能用if (返回值<0) {出错处理}来判断。
2. 若函数的返回值为无符号型,则这样的函数不能返回一个负值。(如一个返回整型的句柄函数)。
方案二:函数的返回值为布尔型。成功调用时返回“TRUE”,错误时返回“FALSE”,再用一个指针指向出错的具体原因。
方案三:当下层函数调用出错时,可以有另一个函数读出错误的具体原因。 |
|