关于Symbian的Eleave

本文探讨了使用ELeave参数在内存分配失败时的不同处理方式,包括抛出异常和使用TRAPD捕获错误码的方法,并分析了其在实际应用中的优劣。

Eleave, e32const.h

-----------------------------

 

最好在new对象的时候传递一个Eleave参数,表示如果构造不成功,就抛出一个异常,系统退出。

 

但是有时候我们不想让它推出,即使它现在抛出了内存分配的异常!

 

这个时候,aBitmap对象创建失败,但是系统没有推出,而是把这个异常到存到err,然后进行处理!

重要的是重载后的new不会产生内存泄露!

 

但是从上面的代码我们又发现问题了:

1> CFbsBitmap对象连内存都获取不到了;

     这个对象很大?不是,既然它都不能获取到内存了,那么当前应用程序能顺利的执行?

 

2> 连这么小的内存都不能获取了,TRAPD到这个error code有何用?

 

      为何不放开直接:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值