據我所知,EXC_BAD_ACCESS?會在訪問已損內存時出現。
不知道IOS中有沒有像JAVA中的try-catch方法,可以捕捉這個異常,防止整個程序崩潰?
iOS是有@try-@catch機制的,但只能catch由程序自己產生的普通的異常,不能捕捉像EXC_BAD_ACCESS這種由系統底層產生的異常信號。你可以用sigaction設置自己的信號捕捉函數來捕捉SIGSEGV和SIGBUS類型的信號從而獲得EXC_BAD_ACCESS異常情況並記錄錯誤日志,但並不一定能使程序從異常中恢復。最好的還是找出代碼中導致內存洩露的原因並解決之,避免異常的產生。