iOS- Exception異常處理

1.Exception 前言               


在iOS裏對異常的處理及捕獲,並無其它語言裏那麼常見,相信不少iOS程序員都知道,更多的時候是對內存的的檢測與分析,檢測相關內存方面的問題。git

而在app閃退並非由於內存的時候,這時候咱們徹底能夠將常見的一些異常捕獲。程序員

捕獲後發送至服務器,而且友好提示用戶錯誤,或則直接回滾到用戶操做前,阻止應用程序的崩潰。github

 

 

2.Exception處理                   

2.1.當知道具體位置偶爾發生錯誤,又沒法解決時           

這時能夠利用xcode自帶的try 來處理,避免程序崩退。xcode

 

 

2.2.不知道具體位置,監聽經常使用錯誤,發送到服務器         

這裏咱們須要利用到兩個框架。 兩個第三方框架的,使用按具體的狀況來應對安全

均可以在github上搜到服務器

1.UncaughtExceptionHandler

能夠檢測出常見錯誤,並友好的提示用戶 例如app

 

1.NSArray、NSDictionary、NSString、KVC等問題引發的閃退。 
2.解決NSObject performSelector找不到selector引發的閃退。 

 

   使用方法:框架

一、首先須要在appDelegate中使用InstallUncaughtExceptionHandler()用於監聽 二、添加UncaughtExceptionHandler這個類 iOS SDK提供的函數是NSSetUncaughtExceptionHandler來進行異常處理。可是沒法處理內存訪問錯誤、重複釋放等錯誤,由於這些錯誤發送的SIGNAL。因此須要處理這些SIGNAL



效果在Demo裏能夠來檢測。

 

 

2.DurexKit安全工具包

能夠阻止程序崩潰,而且能夠本身寫段邏輯在後臺攔截到異常信息,發送至服務器,讓程序從容運行。函數

缺點:用戶沒用提示,操做回滾。工具

 

使用方法:導入便可

#import "DurexKit.h" 

使用Category,參數通過判斷後才能執行方法,再將原生拋異常的方法替換,因此不須要修改任何已有的代碼,僅import工具包的頭文件,便可解決部分異常問題。 

    一、NSArray、NSDictionary、NSString、KVC等問題引發的閃退。 

    二、解決NSObject performSelector找不到selector引發的閃退。 

 

1.1.將文件夾 "DurexKit" 添加到項目中; 
1.2.#import "DurexKit.h" 
1.3.無需修改項目中的任何代碼。

 

 

做者: 清澈Saup
出處: http://www.cnblogs.com/qingche/
本文版權歸做者和博客園共有,歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。

相關文章
相關標籤/搜索