try catch语法:
@try {
//执行的代码
}
@catch {
//发生异常后执行的代码
}
@finally {
//一定会执行的代码
}
遇到的坑
当try的代码发生异常后,有可能会发生内存泄漏
image.png测试代码
开始测试流程:
image.png建立一个测试类
image.png案例1:block引用了self,发生异常self会无法释放
image.png解决方案:使用weak可以解决
image.png image.png案例2:临时变量引用的控制器无法释放
image.png原因:因为临时变量temp无法释放,所以temp引用的self也无法释放
解决方案1:用weak引用self,self可以释放,但是临时变量temp依然无法释放
解决方案2:需要使用者对对象手动释放
网友评论