2011-11-03 40 views
5

如何捕獲iPhone應用程序中的所有異常並向中央服務器報告?如何在iPhone應用程序中捕獲所有異常

我想訪問發生在設備(安裝我的應用的所有設備)上的異常消息。

+0

#2 FAQ「開放式問題削弱我們網站的有用性和推動其他問題關閉頭版。 你的問題,應合理範圍的。如果你能想像回答您的問題一整本書,你」再問太多。「 – 0x8badf00d

+0

我認爲他正在尋找某種全局異常處理程序... – bryanmac

+0

0x8badf00d,你對objective-c一無所知。一個常見的編程任務是設置一個異常處理程序來處理所有異常。這需要具體的邏輯。這個問題直接詢問如何執行這個共同的Objective-C編程任務。這是一個嚴格範圍的問題,有一個特定的可能答案。下面給出了這個答案。 –

回答

7

在您的應用程序委託中,您可以調用NSSetUncaughtExceptionHandler來安裝處理未捕獲異常的處理程序。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 
} 

void uncaughtExceptionHandler(NSException *exception) { 
    NSLog(@"%s %@", __PRETTY_FUNCTION__, exception); 
} 
+0

如果我瞭解這一點,那麼我的應用程序在此之後退出? – onmyway133

+1

@熵我找到了這個答案時,當我插入它時,我花了5秒鐘來確定你的問題的答案! –

+0

如何將這個用於C++異常並拋出代碼? –

相關問題