[Développement] Les messages d'erreur

sebsauvage Messages postés 33415 Statut Modérateur -  
beldyn Messages postés 189 Statut Membre -
Ami développeur, utilise des messages d'erreur explicites qui indiquent:
- s'est produite l'erreur (dans quel programme, quelle classe, quelle méthode)
- quelle est l'erreur (précise)
- ce qui a causé l'erreur (paramètres d'appel)

Un exemple (.Net de Microsoft, je fais pas exprès):

Lors de la compilation/exécution d'un site de eCommerce qui comporte environ 4000 fichiers, j'ai une erreur "Access denied."

Putain de m*rde, accès refusé à quoi ???
Un répertoire ? Un fichier ? En lecture ? en écriture ? une clé de la base registre ? une ressource réseau ?
Et où s'est produit cette erreur ? Dans quel module, à quelle ligne ?

Rien... que dalle. Aucune indication.
30 minutes et 4 personnes dérangées pour trouver que la source du problème était... un fichier en readonly.

Alors par pitié, ami développeur, utilises des messages explicites et bien détaillés, même si tu penses que l'utilisateur final ne saura pas quoi en faire.

4 réponses

teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
La solution que nous avons tendance a privilegie ici, des messages d'erreurs succinct et limites en message box mais un fichier de trace a plusieurs niveau (info, warning, error) qui lui est rempli des que quelque chose ne va pas avec pas mal d'info...

.  .
\_/
0
santiago69 Messages postés 485 Statut Membre 209
 
Je confirme, je crois qu'il vaut mieux créer des fichiers .log dans lesquels chaque procedure ecrit ses actions.
Cela dit, mes messages d'erreur contiennent generalement le nom de la procedure en cause et un index de ligne (tres chiant pour la mise a jour lorsqu'on ajoute de nouvelles lignes)

Il y a 10 types de personnes dans le monde
Ceux qui comprennent le binaire et les autres.
0
Kuching Messages postés 2702 Statut Contributeur 157
 
Sympa la signature (o::

A+  K.
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
C'est vrai, et c'est ce qu'on fait sur notre site.
Mais là c'est .Net lui-même qui me pète cette erreur, et il ne donnait strictement aucune indication (à part dans quel projet se produit l'erreur... moyennement utile vu que je sais sur quel projet je bosse :-/
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Oui c'est sur :o(

.  .
\_/
0
beldyn Messages postés 189 Statut Membre 19
 
Salut ,
Je sais pas sur quel type de projet tu travailles, mais le coup du .NET me rappelle quelque peu Visual Studio :(
La seul solution que j'ai trouvé pour contourner ce problème c de tout intercepter, même en mode debug.
Mais peut-être que tu ne peux pas...
Bonne chance
A++

Beldyn,
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Pil poil.
Je suis sous Visual Studio.Net...
0
beldyn Messages postés 189 Statut Membre 19
 
Ben dans mon cas, c'était sous VB6 et voilà ce que je fait:
Souvent une erreur de ce genre provoquait un violent plantage de VB.

Je place systematiquement un "on error goto Erreur", ce qui me permet de catcher toutes les erreurs, mais surtout d'identifier le morceau de code en cause. Ensuite, avec un breakpoint à l'entrée de la procédure en cause, j'y vais pas à pas pour trouver la ligne en cause. Au second passage en pas à pas je vérifie mes variables, compteurs, index.....

En général, j'arrive facilement à identifier la cause.
J'espère que ça t'aidera
A++

Beldyn
0