2011-11-03 12 views
5

Jak mogę przechwytywać wszystkie wyjątki w aplikacji na iPhone'a i zgłaszać się do serwera centralnego?Jak mogę przechwycić wszystkie wyjątki w aplikacji na iPhone'a

Chcę mieć dostęp do wiadomości wyjątków, które wystąpiły na urządzeniach (wszystkie urządzenia, które instalują moją aplikację).

+0

Stackoverflow FAQ „pytania otwarte zmniejsza użyteczność naszej strony i pchnąć inne pytania od strony czołowej. Twoje pytania powinny być racjonalnie scoped. Jeśli można wyobrazić sobie całą książkę, która odpowiada na pytanie,” prosić za dużo. " – 0x8badf00d

+0

Myślę, że on szuka jakiejś globalnej obsługi wyjątku ... – bryanmac

+0

0x8badf00d, naprawdę nie wiesz nic o ce-c. Jednym z typowych zadań programowania jest ustawienie obsługi wyjątków w celu obsługi wszystkich wyjątków. Aby to zrobić, wymagana jest specyficzna logika. To pytanie dotyczy bezpośrednio tego, jak wykonać to wspólne zadanie programistyczne. Jest to pytanie o wąskim zakresie i istnieje jedna konkretna możliwa odpowiedź. Ta odpowiedź jest podana poniżej. –

Odpowiedz

7

W swoim uczestniku aplikacji można zadzwonić pod numer NSSetUncaughtExceptionHandler, aby zainstalować program obsługi obsługujący niezatłoczone wyjątki.

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

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

jeśli złapię to, czy moja aplikacja przestanie działać po tym? – onmyway133

+1

@Entropy Znalazłem tę odpowiedź, gdy szukałem, co robić, zajęło mi to 5 sekund, aby określić odpowiedź na twoje pytanie, kiedy go włączyłem! –

+0

Jak mogę użyć tego dla wyjątku C++ i kodów rzutowania? –

Powiązane problemy