Ich bin dabei, verschiedene Routinen zu programmieren, und ich versuche mein Bestes, um es ordentlich und refaktoriert zu halten.Korrekte Struktur zum Überprüfen auf Fehler mit NSError
Methoden Ich schaffe beginnen zu diesem Code ähnlich aussehen:
-(IBAction)buttonPress:(id)sender {
// Create Document Shopping List with this document
[self doSomething:&error];
if(error) {
[NSApp presentError:&error];
return nil;
}
[self doSomethingElse:&error];
if(error) {
[NSApp presentError:&error];
return nil;
}
[self doYetSomethingElse:&error];
if(error) {
[NSApp presentError:&error];
return nil;
}
}
Ich liebe NSError, aber dies scheint wie eine furchtbar ungeschickt Weise alle meine Fehler zu verarbeiten.
Ein paar Gedanken, die ich über alternative Möglichkeiten gehabt haben:
a) könnte die Fehlerprüfung in die Methoden doSomething, doSomethingElse usw. gebaut werden, aber dann würde ich nicht in der Lage sein, die Taste drücken Methode zu verlassen, ohne eine Art Überprüfung des Rückgabewertes, die mich zu einer ähnlichen Struktur zurückführen würde.
b) Ich könnte den NSError als Key Value Observed einrichten, aber etwas darüber fühlt sich zutiefst falsch an. Ich bin mir der Möglichkeiten von Missbrauch mit KVO sehr bewusst, also versuche ich alles ohne es zu machen, wo immer es möglich ist.
Sicher fehlt mir hier etwas wirklich Grundlegendes? Gibt es ein Muster, das mir helfen kann? Oder ist diese Struktur in Ordnung?
Ich bin absolut erschüttert über die erstaunliche Antwort, die ich in den letzten 10 Minuten erhalten habe! Vielen Dank für Ihre Antworten. Sehr, sehr hilfreich. –