Questions marquées «exceptions»

Une exception est une occurrence dans un processus d'application qui nécessite un écart par rapport au flux normal du programme.

101
Comment écrire un bon message d'exception

Je suis en train de passer en revue le code et l'une des choses que je remarque est le nombre d'exceptions où le message d'exception semble juste répéter où cette exception s'est produite. par exemple throw new Exception("BulletListControl: CreateChildControls failed."); Les trois éléments de ce...

88
Vérifier première vs gestion des exceptions?

Je travaille sur le livre "Head First Python" (c'est ma langue à apprendre cette année) et je suis arrivé dans une section où ils discutent de deux techniques de code: Checking First vs Exception traitant. Voici un exemple du code Python: # Checking First for eachLine in

80
Exceptions, codes d'erreur et syndicats discriminés

J'ai récemment commencé un travail de programmation en C #, mais j'ai pas mal de connaissances en Haskell. Mais je comprends que C # est un langage orienté objet, je ne veux pas forcer une cheville ronde dans un trou carré. J'ai lu l'article Exception Throwing de Microsoft qui dit: NE PAS renvoyer...

76
Pourquoi le dépassement arithmétique est-il ignoré?

Avez-vous déjà essayé de résumer tous les nombres de 1 à 2 000 000 dans votre langage de programmation préféré? Le résultat est facile à calculer manuellement: 2 000 001 000 000, soit 900 fois la valeur maximale d’un nombre entier non signé de 32 bits. C # imprime -1453759936- une valeur négative!...

57
Pourquoi n'y a-t-il pas de construction "finale" en C ++?

La gestion des exceptions en C ++ est limitée à essayer / lancer / attraper. Contrairement à Object Pascal, Java, C # et Python, même en C ++ 11, la finallyconstruction n'a pas été implémentée. J'ai vu énormément de littérature C ++ parler de "code sécurisé d'exception". Lippman écrit que le code...

52
Lancer une exception ou laisser le code échouer

Je me demande s'il y a des avantages et des inconvénients contre ce style: private void LoadMaterial(string name) { if (_Materials.ContainsKey(name)) { throw new ArgumentException("The material named " + name + " has already been loaded."); } _Materials.Add( name,