2008-12-15 7 views
10

On m'a confié la tâche d'écrire les directives de codage pour mon équipe, et ça allait très bien jusqu'à ce que mon manager me demande d'écrire une explication de Pourquoi la gestion des erreurs est-elle importante?.Pourquoi la gestion des erreurs est-elle importante?

Je le sais instinctivement, mais comment l'exprimer en mots?

J'ai essayé de google le premier, mais est venu vide, alors je demande maintenant à mes collègues assistants de codage.

Répondre

14

à mon humble avis ... la plupart des programmes sont très grandes, très complexe et écrit par plusieurs personnes. Cette combinaison de facteurs conduit presque toujours à une sorte de bug logiciel. Ce n'est pas que les programmeurs soient malveillants, stupides ou fainéants ... C'est juste que dans la hâte de respecter une date limite, nous ne voyons souvent pas tout ce qu'un utilisateur peut faire pour nos programmes et quelque chose est inévitable. À cet égard, la gestion des erreurs sert à deux fins:

  • D'abord, il permet à l'utilisateur de savoir, d'une manière relativement amicale, que quelque chose a mal tourné et qu'ils devraient communiquer avec le service d'assistance technique ou que quelqu'un de support technique a été avisé. Comme nous le savons tous, il y a une différence énorme entre recevoir un avis technique plutôt méchant qui dit quelque chose comme "Objet non mis en référence d'un objet" etc ... et recevoir une fenêtre de type popup qui dit "Il y a eu Veuillez contacter le service d'assistance ".

  • Deuxièmement, il permet au programmeur de mettre quelques subtilités pour faciliter le débogage des problèmes. Par exemple ... dans mon code, j'écris généralement un gestionnaire d'erreur personnalisé qui accepte un certain nombre de paramètres et crache un message formaté agréable qui peut être soit envoyé au helpdesk, caché dans un journal d'événements, écrit dans un journal fichier etc .. Le message d'erreur contiendra autant d'informations que je peux fourrer dedans là pour m'aider à comprendre ce qui s'est passé, traces de pile, paramètres de fonction, appels de base de données ... vous l'appelez. J'aime les messages d'erreur verbeux pour m'aider à comprendre ce qui s'est réellement passé. L'utilisateur n'a jamais rien à voir, il reçoit le gentil et amical message ci-dessus, le laissant savoir que quelqu'un peut comprendre ce qui se passe.

+0

Bien expliqué, merci. – Nik

1

Pourquoi la gestion des erreurs est importante.

En raison de ce qui peut arriver si vous ne le faites pas.

Si vous êtes capable d'écrire des directives de codage, vous devriez être capable de gérer cela, sûrement?

+0

Peut-être, Paul. Mais parfois, même les meilleurs d'entre nous ont des doutes sur la façon de dire quelque chose. Et StackOverflow est toujours le meilleur endroit pour demander des quetions liées au codage. –

+1

Oui, je suis malade donc je suis grincheux aujourd'hui, mais parfois je sens que les questionneurs pourraient mettre un peu d'effort en premier ... –

3

La gestion des erreurs est importante car elle facilite l'utilisation correcte par les utilisateurs finaux de votre code. Un autre problème important est que cela rend votre code plus facile à maintenir. La gestion des erreurs facilite l'intégration des spécifications d'entrée dans le code. Vous n'avez donc pas besoin de rechercher le design lorsque vous écrivez et maintenez le code ultérieurement.

1

D'abord, je voudrais savoir si c'est important?

Je l'ai vu code (laid) où des erreurs ont été ignorées (par exemple référence null)

Alors, quel type d'erreurs sont importantes pour gérer?

Il y a une grande différence entre System.IO.FileNotFoundException, System.Data.SqlClient.SqlException et System.ApplicationException

2

Son assez simple à expliquer à un gestionnaire laïque:

Si votre poignée de vos erreurs, votre programme va probablement continuer à fonctionner après une erreur, votre client peut probablement continuer à travailler, et vous pouvez fournir un rapport de la façon dont le bogue s'est produit afin que vous puissiez le réparer. Si vous ne gérez pas vos erreurs, votre programme peut tomber en panne, perdre tous vos clients et vous ne saurez probablement pas où le bogue s'est produit (à condition de ne pas gérer votre exception fatale avec une trace de pile) .

Questions connexes