2012-04-22 1 views
0

Si j'essaie d'obtenir un élément d'une collection (et que la valeur doit être présente), quelle est la meilleure solution? Retourne null?Gestion des erreurs avec les méthodes qui retournent les collections

De même, si j'essaie d'obtenir un élément d'une collection mais que la valeur n'y figure pas (et ne doit pas strictement être là, c'est-à-dire qu'elle n'est pas fatale), quelle est la meilleure solution? Et enfin si une collection est renvoyée d'une méthode et qu'elle est vide, je devine que le meilleur cours d'aciton est de lancer une exception si elle est fatale et pas autrement.

Merci

+0

Vous devriez coller une partie de votre code ... – jorgebg

+0

Je pense que la «meilleure pratique» est subjective. Dans notre équipe, nos couches d'accès aux données renvoient null lorsqu'une erreur survient et nos couches logiques métier déterminent quoi faire (lancer une exception peut-être si c'est une erreur fatale) – Ulises

+0

Aucun exemple de code car cela est hypothétique mais j'ai rencontré ce dielmma beaucoup fois. Hmm intéressant conseil Ulises. – dotnetdev

Répondre

0

Il est généralement utile de fournir une paire de méthodes, dont une sera garantit qu'il soit retourner un article ou de jeter, et l'autre qui garantit qu'il peut ou ne peut pas retourner un article , mais ne sera lancé que si la collection est corrompue d'une manière ou d'une autre (au-delà de la non-existence de l'élément demandé). Certaines personnes n'aiment pas l'idée d'utiliser un paramètre pour indiquer si la méthode devrait être lancée si un élément n'est pas trouvé. Bien que l'utilisation d'un paramètre ne soit pas le principal moyen d'indiquer quelle variation de la fonction est souhaitée, une surcharge avec un tel paramètre peut être utile pour éviter le code dupliqué.

Questions connexes