développement iPhone: Comment Attraper une Exception/NSError en Objective-C?

Je veux que mon application ne jamais simplement écraser bêtement. Je sais que la qualité du code est la racine de solution pour cela. Mais j'ai encore besoin d'une application à ne jamais bloquer lorsque certains bug inattendu se produit. Voici le code, je veux essayer.

-(void)testException
{
    @try
    {
        NSString* str;
        [str release];
    }
    @catch(NSException* ex)
    {
        NSLog(@"Bug captured");
    }
}

Je sais que cela ne marche pas. Parce que release jamais lever une exception. Voici mes questions:

  1. Comment faire pour atteindre cet objectif, le bug sera capturé, pas de plantage?
  2. Comment puis-je savoir quel système de bibliothèque raise exception et donc, je peux écrire un peu de code et de savoir que cela fonctionne?

Voici ce que j'ai lu

  • un. Exception des Sujets de Programmation pour
    Cacao
  • b. Gestion Des Erreurs De Programmation

    Guide Pour Le Cacao

Je viens à partir d'une expérience de Microsoft programmeur contexte dans lequel les captures d'exception ou de l'exception inattendue toujours prévenir mon programme à partir de la plante dans un très mauvais environnement.

Comment avez-vous les gars et les filles (Mac genius programmeurs) faire crash programmes gratuits qui s'est passé? Partagez votre expérience.

OriginalL'auteur | 2009-07-31