在使用Objective-C++编码时,或者使用第三方库时抛出不受控制的异常的情况下,需要捕获和处理异常.
在MRC下,捕获异常后可以在@finally里释放try块里创建的对象.
在ARC下,由于生成安全处理异常的附加代码会导致应用程序变大,降低运行效率等问题,需要时必须手动开启-fobjc-arc-exceptions标志来使用该附加代码.并且当OC里抛出异常时应用已经终止,所以处理内存泄露已经无关紧要.
在处于Objective-C++模式时,该标志会自动打开.
OC阅读笔记十五:"异常安全代码"的内存管理
最新推荐文章于 2024-02-01 21:48:07 发布