Je (comme certains d'entre vous le savent d'après mes autres questions :)) je construis une bibliothèque statique cacao-touch, et j'ai le code [NSException raise:@"This is the name of my exception" format:@"This is my format", nil]
dispersé dans mon projet comme un raccourci vers la sous-classe NSException
. Cela revient à me mordre, car je dois attraper SEULEMENT une exception qui a une certaine chaîne dans le nom, et laisser les autres passer.Objective-C catch spécifique type d'exception
Maintenant, je sais que si je pouvais, je NSException
sous-classé faire:
@try {
NSLog(@"This is some code that might raise an exception");
}
@catch (MyException *e){
NSLog(@"Yep, something went wrong....%@", e);
}
@finally {
NSLog(@"This is my cleanup code");
}
Mais est-il un moyen plus facile de me faire ce que refactorisation tout mon code?
Ok darnit, cela signifiera probablement passer des nuits blanches (148 occurrences, Aïe! :)) mais non, ce sont des erreurs majeures comme indices non valides, la corruption de fichiers, schémas verrouillés, etc. –
Pourquoi les exceptions ne devraient-elles pas être utilisées pour le traitement des erreurs "normales"? –
@Tilo parce que la mémoire est souvent fuite par eux car ils contournent toute gestion manuelle que vous ou Apple faites. – cobbal