2010-01-20 11 views
8

Sto cercando di creare un gestore di errori generale per un'app per iPhone che porta l'utente a una schermata di ripristino ogni volta che viene generato un errore generale nell'applicazione senza mettere un blocco try/catch attorno a ogni singolo metodo nell'applicazione.Alternativa a NSSetUncaughtExceptionHandler su iPhone

L'utilizzo di NSSetUncaughtExceptionHandler non funziona perché l'applicazione termina dopo l'esecuzione del gestore.

Esiste un modo per modificare questo comportamento o utilizzare un altro gestore che rilevi le eccezioni in generale e non causare l'uscita dall'applicazione in seguito?

E per favore, nessuna non risposta sul fatto che sia una buona o una cattiva idea.

+0

Sto seguendo anche allo stesso modo come cercare di catturare blocchi in ogni metodo che non sembra un'idea geniale. come hai risolto questo / – siva

risposta

11

Il poster originale ha probabilmente risolto il suo problema ormai. Tuttavia, per chi si imbatte in questo in futuro ...

Matt Gallagher ha scritto un eccellente post per rilevare eccezioni non gestite e segnala alcuni mesi dopo che questa domanda è stata postata. Trovo che sia molto più informativo rispetto allo answer citato in precedenza da Scott.

In particolare, post di Matt descrive come tentare un recupero (se del caso), che permette la vostra applicazione per mantenere in esecuzione, e anche visualizza un'UIAlertView con le informazioni di errore se si vuole (suggerimento: si tratta di creazione di un nuovo ciclo di corsa).

2

risposta here. Puoi leggere ulteriori informazioni sulla catena di risposta e osservare le eccezioni here. La scrittura da 1 è davvero buona e spiega come gestire ciò che stai facendo.