一种错误处理宏的应用

在日常的一些代码中,常常会出现需要进行一系列的初始化和释放操作的情况,而在每次的初始化之后一般都要判断指针是否为空、内存分配是否失败等情况,如果失败的话就要返回,就像下面这个函数一样:

 

如果过程中初始化和释放的步骤较多,代码就会显得比较臃肿,而且由于return语句较多,也不是一种很好的风格,因为一般来讲,我们还是喜欢单入口和单出口的函数,这样显得可读性会更好。

有没有更好的写法呢?前几天我的一个同事提出了一种不错的解决方案,通过定义一系列的宏来解决这个问题,我看了一下,觉得很不错,于是又在这个方法之上进行了一些扩展。比如,如果我们希望对指针类型的返回值进行一系列的检查,可以进行如下的定义:

 

这样,我们最初的代码就可以写成这样:

 

看看,是不是顺眼了很多?我们同样可以针对BOOL等类型的返回值写出类似的宏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值