Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3250 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  De la bonne utilisation des exceptions (was: -- ou benou ?)

 


alors ?




Attention si vous cliquez sur "voir les résultats" vous ne pourrez plus voter

 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Page Précédente
Auteur Sujet :

De la bonne utilisation des exceptions (was: -- ou benou ?)

n°630577
lorill
Posté le 04-02-2004 à 08:28:21  profilanswer
 

Dans le traitement d'un fichier de configuration optionnel (si le fichier est la, on le traite, sinon on s'en fout mais c'est pas grave) :
 
-- :  

Code :
  1. if (file.exists()) {
  2.    try {
  3.       InputStream in = new File InputStream(file);
  4.       // lecture du flux ...
  5.    } catch (IOException e) {
  6.       // traitement d'une erreur innatendue
  7.    }
  8. } else {
  9.    // traitement du cas du fichier qui n'existe pas
  10. }


 
 
benou :  

Code :
  1. try {
  2.    InputStream in = new File InputStream(file);
  3.    // lecture du flux ...
  4. } catch (FileNotFoundException e) {
  5.    // traitement du cas du fichier qui n'existe pas
  6. } catch (IOException e) {
  7.    // traitement d'une erreur innatendue
  8. }


Message édité par lorill le 04-02-2004 à 12:47:13
mood
Publicité
Posté le 04-02-2004 à 08:28:21  profilanswer
 

n°630579
kadreg
profil: Utilisateur
Posté le 04-02-2004 à 08:29:48  profilanswer
 

ouverture du ficher pour vérifier son existence :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°630581
Moktar1er
No one replies...
Posté le 04-02-2004 à 08:32:11  profilanswer
 

sujet pas clair
ban :o

n°630582
benou
Posté le 04-02-2004 à 08:34:50  profilanswer
 

[:rofl]
 
 
petite précision : c'est pour être averti de la nom existence d'un fichier dans le cas où on veut le lire.


---------------
ma vie, mon oeuvre - HomePlayer
n°630583
kadreg
profil: Utilisateur
Posté le 04-02-2004 à 08:34:59  profilanswer
 

Les exceptions, comme leur nom l'indique sont pour les cas exceptionnels. Une fonction ne doit pas sortir en exception si elle rend le service attendu.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°630589
benou
Posté le 04-02-2004 à 08:42:51  profilanswer
 

kadreg a écrit :

Les exceptions, comme leur nom l'indique sont pour les cas exceptionnels. Une fonction ne doit pas sortir en exception si elle rend le service attendu.


Tout le monde est d'accord la dessus ....
 
on parle pas d'un throw on parle d'un catch :o
Du coup tu t'es trompé dans ton vote [:kiki]


Message édité par benou le 04-02-2004 à 08:44:08

---------------
ma vie, mon oeuvre - HomePlayer
n°630598
benou
Posté le 04-02-2004 à 08:51:43  profilanswer
 

lorill : pour alimenter le débat correctement, t'as cas ajouter ca dans ton 1er post :
 
-- :  

Code :
  1. if (file.exists()) {
  2.    try {
  3.       InputStream in = new File InputStream(file);
  4.       // lecture du flux ...
  5.    } catch (IOException e) {
  6.       // traitement d'une erreur innatendue
  7.    }
  8. } else {
  9.    // traitement du cas du fichier qui n'existe pas
  10. }


 
 
benou :  

Code :
  1. try {
  2.    InputStream in = new File InputStream(file);
  3.    // lecture du flux ...
  4. } catch (FileNotFoundException e) {
  5.    // traitement du cas du fichier qui n'existe pas
  6. } catch (IOException e) {
  7.    // traitement d'une erreur innatendue
  8. }


Message édité par benou le 04-02-2004 à 08:52:44

---------------
ma vie, mon oeuvre - HomePlayer
n°630601
kadreg
profil: Utilisateur
Posté le 04-02-2004 à 08:52:40  profilanswer
 

Ca dépend ce qu'est le file :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°630602
benou
Posté le 04-02-2004 à 08:52:58  profilanswer
 

kadreg a écrit :

Ca dépend ce qu'est le file :o  


un fichier :o


---------------
ma vie, mon oeuvre - HomePlayer
n°630605
kadreg
profil: Utilisateur
Posté le 04-02-2004 à 08:53:38  profilanswer
 

benou a écrit :


un fichier :o


 
[:the real moins moins]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
mood
Publicité
Posté le 04-02-2004 à 08:53:38  profilanswer
 

n°630608
uriel
blood pt.2
Posté le 04-02-2004 à 08:54:55  profilanswer
 

[:mlc2]


---------------
IVG en france
n°630609
benou
Posté le 04-02-2004 à 08:55:01  profilanswer
 

En quoi la nature du file change quelque chose  :heink:  
 
Puour reprendre l'exemple de taiche, imagine que c'est un fichier d'initialisation optionnel


---------------
ma vie, mon oeuvre - HomePlayer
n°630613
benou
Posté le 04-02-2004 à 08:57:10  profilanswer
 

moktar1er a écrit :

sujet pas clair


vivement le vote des nanas  [:kurrupt]


---------------
ma vie, mon oeuvre - HomePlayer
n°630619
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 04-02-2004 à 09:00:45  profilanswer
 

J'ai voté blanc passke j'm'en branle :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°630620
mareek
Et de 3 \o/
Posté le 04-02-2004 à 09:03:47  profilanswer
 

Taiche a écrit :

J'ai voté blanc passke j'm'en branle :o


C'est  à cause de toi que les 2 zouaves ont pourri blabla@prog sur 35 pages et tu votes blanc. bravo [:kiki]
 
 
 
P.S. -- rulez sur ce coup (plus de précisions dans le mareekotes d'hier :o)


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°630622
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 04-02-2004 à 09:05:09  profilanswer
 

mareek a écrit :


C'est  à cause de toi que les 2 zouaves ont pourri blabla@prog sur 35 pages et tu votes blanc. bravo [:kiki]


[:--greg--]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°630625
benou
Posté le 04-02-2004 à 09:08:28  profilanswer
 

mareek a écrit :


C'est  à cause de toi que les 2 zouaves ont P.S. -- rulez sur ce coup (plus de précisions dans le mareekotes d'hier :o)


nan mais vraiment, quand tu regardes les 2 codes un peu au dessus, tu trouves que le 1er est bcp plus lisible que le 2e  :??:


---------------
ma vie, mon oeuvre - HomePlayer
n°630627
*syl*
--> []
Posté le 04-02-2004 à 09:10:33  profilanswer
 

benou a écrit :


nan mais vraiment, quand tu regardes les 2 codes un peu au dessus, tu trouves que le 1er est bcp plus lisible que le 2e  :??:  

Y'en a qui ont de la merde dans les yeux, faut les laisser s'ils veulent pas comprendre [:spamafote]

n°630631
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 04-02-2004 à 09:12:37  profilanswer
 

benou a écrit :


nan mais vraiment, quand tu regardes les 2 codes un peu au dessus, tu trouves que le 1er est bcp plus lisible que le 2e  :??:  


Quand j'vois l'indentation dégueulasse, j'me dis qu'y en a pas un pour rattraper l'autre :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°630633
benou
Posté le 04-02-2004 à 09:14:27  profilanswer
 

Taiche a écrit :


Quand j'vois l'indentation dégueulasse, j'me dis qu'y en a pas un pour rattraper l'autre :o


c'est pas moi c'est joce :o


---------------
ma vie, mon oeuvre - HomePlayer
n°630634
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 04-02-2004 à 09:17:28  profilanswer
 

J'parle surtout des blocs :o L'indentation Sun-style me fait gerber :o


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°630636
mareek
Et de 3 \o/
Posté le 04-02-2004 à 09:19:36  profilanswer
 

benou a écrit :


nan mais vraiment, quand tu regardes les 2 codes un peu au dessus, tu trouves que le 1er est bcp plus lisible que le 2e  :??:  


Oui.
De plus, je trouve que catcher une exception pour qqch d'aussi trivial n'a aucun sens, une exception est qqch d'exceptionnel. Si on part comme ça, on peut jeter les ifs à la poubelle et tout faire à coup d'exception tant qu'on y est :o


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°630644
benou
Posté le 04-02-2004 à 09:29:38  profilanswer
 


bon, c'est to choix, comme dirait l'autre ...
 

mareek a écrit :


De plus, je trouve que catcher une exception pour qqch d'aussi trivial n'a aucun sens, une exception est qqch d'exceptionnel. Si on part comme ça, on peut jeter les ifs à la poubelle et tout faire à coup d'exception tant qu'on y est :o  


comme je l'ai déjà dit, ca dépend du context.
Ce qui est exceptionnel pour l'appelé ne l'est pas forcément pour l'appelant.
 
Exemple : tu récupères une chaine saise par l'utilisateur. Elle est sensée contenir un nombre.
 
Pour récupérer la valeur du nombre, tu fais un parseInt(). Cette méthode peut générer un NumberFormatException (ce qui est logique dans son contexte).  Toi tu dois catcher l'exception parce que le fait que l'utilisateur ait pu faire une bourde de saisie est logique dans ton contexte.  
 
Donc catcher une exception n'a rien de rare ou de bizarre, même dans un cas d'execution normal.  
 
Catcher une exception c'est fréquent. C'est la génération d'erreur qui doit rester exceptionnelle ...


---------------
ma vie, mon oeuvre - HomePlayer
n°630647
darklord
You're welcome
Posté le 04-02-2004 à 09:33:51  profilanswer
 

V-O-S    G-U-E-U-L-E-S :-o


Message édité par darklord le 04-02-2004 à 09:34:03
n°630648
lorill
Posté le 04-02-2004 à 09:39:17  profilanswer
 

DarkLord a écrit :

V-O-S    G-U-E-U-L-E-S :-o


au contraire, c'est le bon topic pour en parler :o

n°630681
drasche
Posté le 04-02-2004 à 10:21:57  profilanswer
 

kadreg a écrit :

Les exceptions, comme leur nom l'indique sont pour les cas exceptionnels. Une fonction ne doit pas sortir en exception si elle rend le service attendu.


chuis pas d'accord :o  'fin en VB on n'a que des errors et pas d'exception [:kiki]
 

benou a écrit :

nan mais vraiment, quand tu regardes les 2 codes un peu au dessus, tu trouves que le 1er est bcp plus lisible que le 2e  :??:  


j'ai voté trop tôt: blanc. Et après coup j'aurais voté pour ton code.
 

Taiche a écrit :

J'parle surtout des blocs :o L'indentation Sun-style me fait gerber :o


défendable, on parle d'un bloc try. C'est un peu une exception dans la manière de gérer les blocs (non le jeu de mots n'était pas voulu :o)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°630683
uriel
blood pt.2
Posté le 04-02-2004 à 10:23:01  profilanswer
 

ben je fais comme benou sur ce coup là... maintenant dire que c'est la meilleur chose à faire, je sais pas mais je trouve ca beaucoup plus simple et plus facile à lire :D


---------------
IVG en france
n°630684
chrisbk
-
Posté le 04-02-2004 à 10:24:36  profilanswer
 

DarkLord a écrit :

V-O-S    G-U-E-U-L-E-S :-o


 
Consonne
 
 
[:itm]

n°630692
blackgodde​ss
vive le troll !
Posté le 04-02-2004 à 10:35:48  profilanswer
 

Le lancement d'une exception me parait plus lourd (création de l'objet, puis ensuite récupération par le GC), avec en plus la création de l'InputStream peut-être pour rien, pour attraper une exception qui n'est pas exceptionnelle... Je préfère le cas 1


---------------
-( BlackGoddess )-
n°630693
drasche
Posté le 04-02-2004 à 10:38:35  profilanswer
 

DarkLord a écrit :

V-O-S    G-U-E-U-L-E-S :-o


c'est tout? j'aurais espéré un avis de ta part sur la question :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°630695
chrisbk
-
Posté le 04-02-2004 à 10:41:18  profilanswer
 

au moins en C on se poserait pas ce genre de question debile [:kiki]

n°630697
kadreg
profil: Utilisateur
Posté le 04-02-2004 à 10:43:17  profilanswer
 

chrisbk a écrit :

au moins en C on se poserait pas ce genre de question debile [:kiki]


 
On aurait coré [:dawa]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°630701
chrisbk
-
Posté le 04-02-2004 à 10:45:56  profilanswer
 

mais nan, c'est hyper safe le C, tant que tu n'utilises pas de pointeur [:itm]

n°630711
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 04-02-2004 à 10:56:17  profilanswer
 

chrisbk a écrit :

mais nan, c'est hyper safe le C, tant que tu n'utilises pas de pointeur [:itm]


Du coup ça enlève l'utilisation de chaînes de caractères, c'est un peu restrictif :/


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°630714
chrisbk
-
Posté le 04-02-2004 à 10:58:15  profilanswer
 

Taiche a écrit :


Du coup ça enlève l'utilisation de chaînes de caractères, c'est un peu restrictif :/


 
mais nan
 

Code :
  1. typedef struct maChaine
  2. {
  3. char prout[2048];
  4. }maChaine;


 
[:itm]


Message édité par chrisbk le 04-02-2004 à 10:58:30
n°630715
darklord
You're welcome
Posté le 04-02-2004 à 10:59:01  profilanswer
 

drasche a écrit :


c'est tout? j'aurais espéré un avis de ta part sur la question :/


 
 
bin mon avis c'est que si on s'attend à ce que le fichier ne puisse pas exister, je préfère tester sa présence que d'essayer de le loader et de me manger une exception, qd bien meme je la catcherai. Le fait que le fichier pourrait etre là juste après le test de présence [:ula]. Pas du tout applicable dans ce cas.
 
Ce qui me dérange par contre c'est les cas du genre, je teste que le fichier existe, il existe, je le loade et je me mange une filenotfoundexception :/
 
ca c'est plus chiant à gérer.

n°630723
walli
Posté le 04-02-2004 à 11:05:17  profilanswer
 

j'ai voté -- !
je trouve ca plus clair de faire comme il le fait !!
parce que les catch multiples, a la fin, on s'y retrouve plus [:mmmfff]

n°630727
chrisbk
-
Posté le 04-02-2004 à 11:06:33  profilanswer
 

walli a écrit :

j'ai voté -- !
je trouve ca plus clair de faire comme il le fait !!
parce que les catch multiples, a la fin, on s'y retrouve plus [:mmmfff]


L'avis d'une programmeuse JS/VB ne nous interesse pas :O [:itm]

n°630730
walli
Posté le 04-02-2004 à 11:08:22  profilanswer
 

chrisbk a écrit :


L'avis d'une programmeuse JS/VB ne nous interesse pas :O [:itm]
 


 
je fais aussi du J++  :kaola:

n°630732
chrisbk
-
Posté le 04-02-2004 à 11:09:00  profilanswer
 

walli a écrit :


 
je fais aussi du J++  :kaola:  


 
[:rofl]
 
Aux abris, ca va peter [:totoz]

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  De la bonne utilisation des exceptions (was: -- ou benou ?)

 

Sujets relatifs
[VB] Utilisation dynamique de controls ?[C#] Utilisation correct de UpdateCommand [DataAdapter]
[C*UNIX]Utilisation du microphone !utilisation de prompt
utilisation d'une classe abstraiteUtilisation de dbExpress sous Delphi 7
[C] Utilisation de scandir..[HS]Bonne année à tous + UnlimitedParty
[VB6] Utilisation TreeView ?[C++] Utilisation de Scheme au sein d'une application C++
Plus de sujets relatifs à : De la bonne utilisation des exceptions (was: -- ou benou ?)


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)