42 votes

Que doit renvoyer un constructeur JavaScript en cas d’échec ?

Si j’ai une classe javascript qui ne peut pas être instanciée, que doit renvoyer le constructeur pour lequel je peux tester. Le constructeur renvoie toujours un objet, je ne peux donc pas renvoyer null en cas d’échec du constructeur.

mais il semble qu’il devrait y avoir un meilleur moyen.

40voto

Slappy Points 2628

Il est probablement préférable de lever une exception pour informer l’appelant que l’initialisation a échoué et de prendre les mesures appropriées.

Les codes de retour sont très bien, mais pour la plupart, il n’y a aucune motivation pour l’appelant à mettre en œuvre les contrôles sur le code de retour.

Mon conseil est de casser fort et de casser bientôt. Cela rendra les violations de contrat très évidentes pendant les tests.

5voto

AFC Points 59

Utilisez I sentinel. J’aime

Cela a l’air propre:

(Il n’y a aucun moyen de renvoyer une valeur non vraie à partir d’un constructeur, vous ne pouvez donc pas mettre nouveau dans le conditionnel comme vous le feriez avec une autre langue.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X