Ich versuche, einen allgemeinen Fehlerhandler für eine iPhone-App zu erstellen, der den Benutzer auf einen Wiederherstellungsbildschirm bringt, wenn ein allgemeiner Fehler in der Anwendung ausgelöst wird, ohne einen try / catch-Block um jede einzelne Methode in der Anwendung zu setzen / p>
Die Verwendung von NSSetUncaughtExceptionHandler
funktioniert nicht, da die Anwendung beendet wird, nachdem der Handler ausgeführt wurde.
Gibt es eine Möglichkeit, dieses Verhalten zu ändern oder einen anderen Handler zu verwenden, der im Allgemeinen Ausnahmen abfängt und nicht dazu führt, dass die Anwendung danach beendet wird?
Und bitte, keine Nicht-Antworten darüber, ob es eine gute oder eine schlechte Idee ist.
Das Originalplakat hat wahrscheinlich sein Problem inzwischen gelöst. Aber für jeden, der in der Zukunft darauf stößt ...
Matt Gallagher schrieb einen ausgezeichneten Beitrag über das Abfangen unbehandelter Ausnahmen und signalisiert ein paar Monate nachdem diese Frage gestellt wurde. Ich finde es viel informativer als die Antwort , auf die oben verwiesen wird Scott.
Insbesondere beschreibt Matts Beitrag, wie man eine Wiederherstellung versucht (falls zutreffend), die es Ihrer App ermöglicht, weiterzumachen und sogar eine UIAlertView mit Fehlerinformationen anzeigt, wenn Sie möchten (Hinweis: es beinhaltet das Erstellen eine neue Laufschleife).
Tags und Links objective-c iphone cocoa-touch