Je suis en train de coder différentes routines et je fais de mon mieux pour le garder net et refactorisé.Corriger la structure pour vérifier les erreurs en utilisant NSError
Méthodes Je crée commencent à ressembler à ce code:
-(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;
}
}
J'adore NSError, mais cela semble être un moyen terriblement maladroit de traiter toutes mes erreurs.
Quelques réflexions que j'ai eu sur les façons alternatives:
a) la vérification d'erreur pourrait être intégrée dans les méthodes DoSomething, doSomethingElse etc, mais je ne serais pas en mesure de quitter la méthode de presse de bouton sans faire une sorte de vérification de la valeur de retour, ce qui me ramènerait à une structure similaire.
b) Je pourrais configurer l'erreur NSError comme étant la valeur clé observée, mais quelque chose à ce sujet me semble profondément erroné. Je suis très conscient des possibilités d'abus avec le KVO, alors j'essaie de tout faire sans lui autant que possible.
Sûrement il me manque quelque chose de vraiment basique ici? Y a-t-il un modèle qui peut m'aider? Ou est-ce que cette structure est OK?
Je suis absolument renversé par la réponse incroyable que j'ai reçue au cours des 10 dernières minutes! Merci beaucoup pour vos réponses. Très, très utile. –