2011-11-03 14 views
5

iPhoneアプリですべての例外をキャッチして中央のサーバーに報告するにはどうすればよいですか?iPhoneアプリですべての例外をキャッチする方法

デバイス(私のアプリケーションをインストールするすべてのデバイス)で発生した例外メッセージにアクセスしたいです。

+0

StackOverflowのよくある質問は、「オープンエンドの質問は、当サイトの有用性を低下させ、フロントページオフ他の質問を押してください。 ご質問が合理的にスコープされなければならない。あなたの質問に答える本全体を想像することができるならば、あなたは」もうあまりにも多くを求めている。 – 0x8badf00d

+0

私は彼が何らかのグローバル例外ハンドラを探していると思う... – bryanmac

+0

0x8badf00d、あなたは本当にobjective-cについて何も知らない。一般的なプログラミングタスクの1つは、例外ハンドラを設定してすべての例外を処理することです。これを行うために必要な特定のロジックがあります。この質問は、この共通の目的のCプログラミングタスクを実行する方法について直接質問します。それは密接にスコープされた質問であり、具体的な可能な答えが1つあります。その答えは以下の通りです。 –

答えて

7

アプリケーションデリゲートでは、キャッチされない例外を処理するハンドラをインストールするにはNSSetUncaughtExceptionHandlerを呼び出すことができます。

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

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

これをキャッチすれば、私のアプリはその後終了しますか? – onmyway133

+1

@Entropy私は何をすべきかを探していたときにこの答えを見つけました。それを差し込んだときにあなたの質問に対する答えを決定するのに5秒かかりました! –

+0

これをC++例外とコードのスローにどのように使用できますか? –

関連する問題