2016-05-23 5 views
-1

Was ich will, ist den Benutzer abmelden, wenn eine Ausnahme/Fehler auftritt (anstatt die App zu stürzen).Wie alle App Exceptions/Fehler in Swift/iOS zu fangen

Ich möchte nicht versuchen/fangen ganz über meinen Code (alle View - Controller zum Beispiel), ich möchte etwas Simples, ein Versuch/fangen (oder was auch immer ich brauche) eine Ausnahme zu erfassen, die passiert ist (und wurde nicht behandelt) irgendwo im Code.

Wie kann ich das erreichen?

Vielen Dank.

+0

Hinweis: Do-Try-Catch dient zum Abfangen von * Fehlern *, die ausgelöst werden. Es funktioniert nicht mit * Ausnahmen *. – Moritz

+0

Sie können http://stackoverflow.com/questions/1282364/how-do-you-implement-global-iphone-exception-handling –

+0

@mithleshjha Ich habe das versucht, aber ich bekomme immer noch den Absturz mit "fataler Fehler: unerwartet nil beim Entpacken gefunden Optionaler Wert " –

Antwort

0

Erstens, tun/versuchen/fangen in Swift ist nur eine interessante Möglichkeit, um Fehler zu behandeln. Es ist keine Ausnahmebehandlung.

Objective-C-Ausnahmen werden als Programmierfehler betrachtet. Da es sich um Programmierfehler handelt, werden sie nicht behandelt. Sie behandeln keine Programmierfehler, Sie beheben sie. Abgesehen von einigen sehr seltenen Situationen fangen Sie keine Objective-C-Ausnahmen ein. Du hast sie dein Programm zum Absturz bringen lassen. Das ist Absicht.

+0

Ich stimme zu! Ich möchte nur, dass es mir während der Entwicklung das Leben leichter macht, denn für meinen speziellen Fall könnte ich auf ein Problem stoßen (Details sind im Moment nicht wichtig) und dann muss ich einen Code kommentieren, mich abmelden und wieder anmelden behebe den schlechten Zustand. –

+0

Völlig nicht einverstanden - Exception Handling (z. B. wie aus jeder anderen Sprache - .NET, Java) hat seinen Platz. Nicht alle Ausnahmen sind Programmierfehler, einige können auf den Status oder eine andere Anzahl von Eingaben zurückzuführen sein. Andere können eine Ausnahme außerhalb der Kontrolle des Programms sein. – csmith