En avance, veuillez excuser mon manque de compréhension des meilleures pratiques iPhone/Objective-C; Je viens d'un arrière-plan .NET/C#.Gestion des exceptions de sortie/production iPhone
Bien que j'ai lu beaucoup de messages concernant la gestion des exceptions pour l'iPhone, je ne suis toujours pas clair sur ce que font la plupart des gens pour le code de production. En outre, je n'ai pas été en mesure de trouver des applications open source avec la gestion des erreurs que je m'attendais normalement. Voici mes questions:
1) Si un résultat imprévu peut provoquer l'échec de l'application, lèveriez-vous une exception ou attendriez-vous qu'elle échoue plus tard? Par exemple,
if (![fileManager createDirectoryAtPath: myNewDir
withIntermediateDirectories: YES
attributes: nil
error: &myError]) {
// My app shouldn't continue. Should I raise an exception?
// Or should I just log it and then wait for it to crash later?
}
2) Validez-vous les paramètres? Par exemple, en C#, je vérifie habituellement null et, si nécessaire, lance une ArgumentNullException.
3) Lorsqu'une application tombe en panne, est-ce que les informations de plantage sont consignées automatiquement ou dois-je définir le gestionnaire d'exceptions non gérées? Puis-je montrer un UIAlertView dans cette méthode pour informer l'utilisateur que quelque chose de mal est arrivé, au lieu de faire disparaître l'application? (Si c'est le cas, je ne pourrais pas le faire fonctionner.)
4) Et enfin, pourquoi est-ce que je ne vois personne utiliser @ try/@ catch/@ finalement? Il est largement utilisé en C#, mais je n'ai pas trouvé d'applications open source l'utilisant. (Peut-être que je ne fais que regarder les mauvaises applications.)