try catch語法:
@try {
//執(zhí)行的代碼
}
@catch {
//發(fā)生異常后執(zhí)行的代碼
}
@finally {
//一定會(huì)執(zhí)行的代碼
}
遇到的坑
當(dāng)try的代碼發(fā)生異常后,有可能會(huì)發(fā)生內(nèi)存泄漏
測試代碼

image.png
開始測試流程:
建立一個(gè)測試類

image.png
案例1:block引用了self,發(fā)生異常self會(huì)無法釋放

image.png
解決方案:使用weak可以解決

image.png
案例2:臨時(shí)變量引用的控制器無法釋放

image.png

image.png
原因:因?yàn)榕R時(shí)變量temp無法釋放,所以temp引用的self也無法釋放
解決方案1:用weak引用self,self可以釋放,但是臨時(shí)變量temp依然無法釋放
解決方案2:需要使用者對對象手動(dòng)釋放

image.png