アプリで例外がスローされ、ここで処理しようとしています。私たちのサーバーを呼び出すことが目的ですが、これは成功しません。サーバー呼び出しを try/catch ステートメントで分離して、別の例外がスローされるかどうかを確認しましたが、ログからわかるように、追加の例外はスローされません。例外ハンドラから Web リクエストを送信することはできますか? または何らかの理由でプロセスが中断されますか?
void uncaughtExceptionHandler(NSException *exception) {
[Flurry logError:@"Uncaught" message:@"Crash!" exception:exception];
NSLog(@"Exception: %@", exception);
NSArray *stack = [exception callStackReturnAddresses];
NSLog(@"Stack trace: %@", stack);
NSString *stackTrace = [stack description];
@try {
NSString *domain = @"blabla.mydomain.com";
NSURL *url2 = [NSURL URLWithString: [NSString stringWithFormat: @"http://%@/error/SendExceptionDetailsToStaff", domain]];
ASIFormDataRequest *request2 = [ASIFormDataRequest requestWithURL:url2];
[request2 setPostValue: stackTrace forKey:@"stackTrace"];
[request2 setPostValue: [[UIDevice currentDevice] model] forKey:@"device"];
[request2 setPostValue: [[UIDevice currentDevice] systemVersion] forKey:@"osVersion"];
[request2 startAsynchronous];
}
@catch (NSException * e) {
NSLog(@" Request Exception: %@", e);
}
NSLog(@"yooooo");
}
log:
2013-01-10 15:16:20.761 myApp[4653:c07] Stack trace: (0x28fa012 0x1b6ce7e 0x2982fb1 0x8c601 0xc1f753 0xc1fa7b 0xc2d590 0xc355bd 0xc35eab 0xc35fc9 0xc36055 0xd3b3ab 0xb8c92d 0x1b806b0 0x7409fc0 0x73fe33c 0x73fe150 0x737c0bc 0x737d227 0x737d8e2 0x28c2afe 0x28c2a3d 0x28a07c2 0x289ff44 0x289fe1b 0x2b327e3 0x2b32668 0xb3c65c 0x216d 0x20a5)
2013-01-10 15:16:20.761 myApp[4653:c07] yooooo