goto语句已经很少在C语言中使用了,然而为了书写简便,BUIW应用使用了具有ERR_TRY()和ERR_CHECK_PTR()的函数模式,此模式隐含地使用了goto语句,此函数模式特点如下:
1. 返回值为0时表示成功,其它为失败情况的枚举值
2. 需要在函数内部定义临时变量int nErr;
3. 具有ERR_CATCH: 的跳转标签
4. ERR_TRY()包含的函数的返回值同样要求:返回值为0时是成功,其它为失败情况的枚举值
5. 指针检查使用ERR_CHECK_PTR(pBuf);
函数框架如下:
ERR_TRY()和ERR_CHECK_PTR()的宏定义如下: