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  
Gestion du parc automobile d'une société de location de voitures

«Une société de location automobile souhaite acquérir un système de gestion de son parc. Ce dernier est constitué de voitures, d'utilitaires, de camions, de quads et de motos.On souhaite conserver des inf...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .pdf  |   13 pages   |   publié en 2009
Conception et développement d'un système en ligne de la gestion de recrutement

«Dans le monde économique moderne, les lois de la concurrence et de compétition sont maîtresses de tous les domaines. Toutes les sociétés rivalisent afin de satisfaire une clientèle de plus en plus exigeante et des besoins croissants. Nous pouvons af...»

Sciences et technologies   |  Informatique  |   Mémoire  |   fr  |   .pdf  |   29 pages   |   publié en 2014
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
Application de gestion de back-office

«Le développement mondial du réseau Internet ainsi que son émergence dans le fonctionnement de l'entreprise tunisienne a permis de faciliter la communication et le partage d'informations entre les différentes structures. E...»

Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   66 pages   |   publié en 2008
La gestion des connaissances dans les PME et PMI de la région Rhône-Alpes

«L'étude que nous présentons a pour origine l'enquête de terrain réalisée dans le cadre du stage de DESS "Métiers de la Formation" effectué à l'ESC Chambéry, Service de la Formation Continu...»

Économie et Social   |  Questions sociales  |   Dissertation  |   fr  |   .doc  |   172 pages   |   publié en 2009

Meilleures ventes en informatique

Derniers docs en informatique

La gestion de projet sous Microsoft Project
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   79 pages   |   publié en 2007
Rapport de projet en système d'information
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   31 pages   |   publié en 2007
Le piratage informatique
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .ppt  |   17 pages   |   publié en 2007
Dépannage de premier niveau d'un réseau local
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   177 pages   |   publié en 2007
Exemple de conception d'une base de données Microsoft Access
Sciences et technologies   |  Informatique  |   Dissertation  |   fr  |   .doc  |   16 pages   |   publié en 2006
Conception et développement d'un système en ligne de la gestion de recrutement
Sciences et technologies   |  Informatique  |   Mémoire  |   fr  |   .pdf  |   29 pages   |   publié en 2014
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