[ASTUCE] Fonction NSAssert()
Eddy58
Membre
Je viens de découvrir cette fonction, qui permet de lever des exceptions. Sûrement que certains connaissent déjà , mais il est sûr aussi que certains ne connaissent pas, et si elle existe, c'est que ça peut servir dans certains cas au développement. :P
[tt]NSAssert(condition, NSString *description)[/tt]
Si la condition testée, qui normalement doit toujours être vraie s'avère fausse, alors une exception de type NSInternalInconsistencyException est levée, et un message d'erreur avec des infos sur la classe et la méthode (ou fonction) où cela s'est produit s'affiche dans le log, puis l'appli quitte avec un beau SIGTRAP.
Exemple :
[tt]
NSAssert(value==5,@La valeur n'est pas égale a 5);
[/tt]
[tt]NSAssert(condition, NSString *description)[/tt]
Si la condition testée, qui normalement doit toujours être vraie s'avère fausse, alors une exception de type NSInternalInconsistencyException est levée, et un message d'erreur avec des infos sur la classe et la méthode (ou fonction) où cela s'est produit s'affiche dans le log, puis l'appli quitte avec un beau SIGTRAP.
Exemple :
[tt]
NSAssert(value==5,@La valeur n'est pas égale a 5);
[/tt]
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
(NSAssert[1-5])
De mon côté, je me servais 2 fois plus des assertions sous CodeWarrior qu'avec xCode en Objectic-Cocoa ...
Le soucis est de gérer, après, l'exception qui est levée et là j'avoue que j'ai pas le réflexe en obj-C. ...
Les expressions testées devraient concerner l'intégrité des données, le respect des API.. afin de detecter des erreurs ou des insuffisance de programmation.
Pour moi ca serait plutôt de l'ordre du Design by Contract..