Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
erreurs [2017/05/15 19:15] gbdivers |
erreurs [2017/08/23 17:29] (Version actuelle) bat23 Orthographe |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
Les erreurs faites par les utilisateurs correspondent à des erreurs d'entrées et sorties : saisir du texte quand vous demander de saisir un nombre, cliquez en dehors d'une fenêtre quand vous demandez de cliquer sur un bouton, ouvrir un fichier image quand vous demander d'ouvrir un fichier texte, etc. | Les erreurs faites par les utilisateurs correspondent à des erreurs d'entrées et sorties : saisir du texte quand vous demander de saisir un nombre, cliquez en dehors d'une fenêtre quand vous demandez de cliquer sur un bouton, ouvrir un fichier image quand vous demander d'ouvrir un fichier texte, etc. | ||
- | Un programme //fiable// est un programme qui continuera de fonctionner correctement, même si les utilisateurs font n'importe quoi. Gérer ce type d'erreur fait donc partie du **comportement attendu** d'un programme, qui doit être prévu par les développeurs. Plusieurs chapitre de ce cours seront consacrés à ce problème. | + | Un programme //fiable// est un programme qui continuera de fonctionner correctement, même si les utilisateurs font n'importe quoi. Gérer ce type d'erreur fait donc partie du **comportement attendu** d'un programme, qui doit être prévu par les développeurs. Plusieurs chapitres de ce cours seront consacrés à ce problème. |
- | Le second type d'erreur d'erreur est celles faites par les développeurs lorsqu'ils écrivent du code. Ce type d'erreur correspond a un **comportement non attendu** d'un programme. Ou pour etre plus precis, le comportement obtenu sera différent du comportement qu'avait prévu le développeur. | + | Le second type d'erreur est celles faites par les développeurs lorsqu'ils écrivent du code. Ce type d'erreur correspond a un **comportement non attendu** d'un programme. Ou pour etre plus precis, le comportement obtenu sera différent du comportement qu'avait prévu le développeur. |
Ce type d'erreur est en principe simple a tester. Il "suffit" d'exécuter le programme et de comparer le comportement obtenu avec ce qui était prévu. En pratique, il est extrêmement difficile de prévoir tous les comportements, dans toutes les situations. Et il est également difficile (et cela prend beaucoup de temps) d'écrire tous ces tests. | Ce type d'erreur est en principe simple a tester. Il "suffit" d'exécuter le programme et de comparer le comportement obtenu avec ce qui était prévu. En pratique, il est extrêmement difficile de prévoir tous les comportements, dans toutes les situations. Et il est également difficile (et cela prend beaucoup de temps) d'écrire tous ces tests. | ||
Ligne 34: | Ligne 34: | ||
Il existe deux types d'assertion : | Il existe deux types d'assertion : | ||
- | * ``assert(CONDITION)`` a l'execution ; | + | * ''assert(CONDITION)'' a l'execution ; |
- | * ``static_assert(CONDITION, MESSAGE)`` a la compilation. | + | * ''static_assert(CONDITION, MESSAGE)'' a la compilation. |
- | Pour utiliser ``assert``, il faut inclure le fichier d'en-tête `<cassert>`. | + | Pour utiliser ''assert'', il faut inclure le fichier d'en-tête ''<cassert>''. |
- | Voici un exemple d'utilisation de `assert` : | + | Voici un exemple d'utilisation de ''assert'' : |
<code cpp main.cpp> | <code cpp main.cpp> |