Oodoc change de nom : découvrez tousLesDocs

X

Accéder à ce doc

Le sommaire
  ACCÉDER à ce doc

Introduction

I) Ecrire du beau code
II) Les "goto" ou fonctions d'erreur
III) Les appels système
IV) errno
V) Les exceptions
ACCÉDER à ce doc  

Résumé du document
  ACCÉDER à ce doc

Une chose importante (voire obligatoire) pour écrire des programmes lisibles, maintenables et fonctionnels en C, est de gérer correctement ses erreurs. Cela est fondamental pour deux raisons :

- Durant le développement, il est bien plus aisé de comprendre ce qui ne fonctionne pas avec une bonne gestion d'erreurs. Les problèmes sont identifiés plus vite.
- Après le développement l'utilisateur doit comprendre ce qui se passe en cas de soucis. Il doit notamment être capable de différencier les problèmes qu'il peut résoudre lui-même (mauvaise utilisation) des problèmes qu'il ne peut que reporter (bugs) ()

Extraits

[...] Mauvais code : void my_listen(int sockfd, int backlog) { listen(sockfd, backlog); } Bon code : void my_listen(int sockfd, int backlog) { int res; res = listen(sockfd, backlog); if (res < { Afficher message d'erreur, quitter le programme, etc . } } Il est conseillé de regarder les valeurs de retour correspondant à des erreurs dans la documentation de votre système d'exploitation (manpages sous Unix). Il est possible sous Unix, de récupérer un message d'erreur très clair sur un appel système (ainsi que certaines autres fonctions de la libc) qui aurait échoué. Cette feature s'appelle errno. IV - errno "errno" est une variable globale, qui prend une valeur particulière lorsqu'une fonction échoue. [...]


[...] Exemple : #include #include int main(void) { struct stat if (lstat("un fichier qui n'existe pas", < { perror("lstat"); return } return } Et mon programme m'affiche : "lstat: No such file or directory". Ce message d'erreur est très utile à la fois pour le programmeur et à la fois pour l'utilisateur. V - Les exceptions Notez que le C ne gère pas les exceptions, n'essayez donc pas de faire du "try / catch" comme vous le feriez en Java ou en Il est cependant possible de faire sa propre implémentation des exceptions à l'aide de longjmp() et setjmp(), mais cela est déconseillé. Lisez les manpages pour des détails sur ces deux fonctions. [...]

ACCÉDER à ce doc  

Informations sur le doc

Date de publication
17/06/2009
Langue
français
Format
Word
Type
dissertation
Nombre de pages
6 pages
Niveau
grand public
Consulté
2 fois

Informations sur l'auteur Battan C. (étudiant)

Niveau
Grand public
Etude suivie
droit des...
Note du document :
         
ACCÉDER à ce doc  
Le langage C

«Cours portant sur le langage C. Vous assisterez à une présentation traitant de tous les points importants à connaître pour créer son propre programme comme les opérateurs, instructions de contrôle, variables, tableaux, pointeurs. Chaque chapitre comp...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .pdf  |   55 pages  |   publié en 2007
Programmation d'un jeu en langage C

«L'objectif du BE d'informatique était de mettre en place un équivalent du jeu Frozen bubble, aussi appelé Bust move. Il nous faut donc en concevoir le fonctionnement algorithmique et réaliser le programme en langage C....»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .pdf  |   16 pages  |   publié en 2010
La gestion des erreurs en langage C : comment les gérer proprement en évitant les pièges classiques

«Une chose importante (voire obligatoire) pour écrire des programmes lisibles, maintenables et fonctionnels en C, est de gérer correctement ses erreurs. Cela est fondamental pour deux raisons :- Durant le développement...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   6 pages  |   publié en 2009
Initiation au langage C

«Cours complet d'initiation au langage de programmation C....»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .pdf  |   12 pages  |   publié en 2007
Cours sur la programmation UNIX : installation d'une distribution Linux, gestion des utilisateurs, système de protection et la sécurité, ligne de commandes, etc.

«C'est en 1969 que Ken Thompson au sein des laboratoires Bell développa le premier système UNIX.En collaboration avec Dennis Ritchie le noyau UNIX fut réécrit en langage C avec un souci de convivialité, de soup...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   25 pages  |   publié en 2009

Meilleures ventes en informatique

Derniers docs en informatique

Programmation Web : notions de PHP
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .pdf  |   5 pages  |   publié en 2010
Comment réaliser son site Web ?
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   26 pages  |   publié en 2006
La sécurité informatique
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   28 pages  |   publié en 2006
Didacticiel pour créer un site Internet en HTML
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   28 pages  |   publié en 2007
Les outils informatiques de reporting et d'analyse (BI en anglais, Business Intelligence)
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   26 pages  |   publié en 2007
Etude et mise en place d'une solution cloud computing
Sciences et technologies   |  Informatique  |   Rapport de stage  |   fr  |   .doc  |   52 pages  |   publié en 2014
Les systèmes experts en ingénierie
Sciences et technologies   |  Informatique  |   Cours  |   fr  |   .pdf  |   29 pages  |   publié en 2013
Cours de systèmes répartis
Sciences et technologies   |  Informatique  |   Cours  |   fr  |   .pdf  |   18 pages  |   publié en 2013
Structure d'une base de données en informatique de gestion
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .pdf  |   8 pages  |   publié en 2013