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

 


Dernière réponse
Sujet : Comment traiter les exceptions (avec TRY et CATCH) ????
tanguy merci pour vos réponses (ca c'est du squat de topic bien en règle ;)
je savais pas que c'était autant utiliser.
je vais me renseigner d'avantage

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
tanguy merci pour vos réponses (ca c'est du squat de topic bien en règle ;)
je savais pas que c'était autant utiliser.
je vais me renseigner d'avantage
wpk

benou a écrit a écrit :

quand utiliser une exception ??? des que le comportement d'une méthode n'est pas un comportement normal et qu'elle n'arrivera pas à faire le traitement pour lequel elle a été appelée.
 
Quand est-ce qu'il faut en créer ?
moi j'en créer une de base pour chacun de mes projets, et ensuite j'en créé d'autre qui dérive de celle la.
 
Je n'ai pas encore trouvé de règles précises pour dire quand il faut créer de nouvelles exceptions... Tu peux déja en créée une lorsqu'elle peut apporter plus de renseignements qu'un simple message d'erreur : Il peut arriver que la couche du dessous ait besoin d'informations pour "résoudre" l'exception, tu peux stocker ces informations dans l'exception. Ensuite, c'est une questionde clarté, et ca permet de pouvoir filtrer les différents cas d'exceptions avec les catch.  




benou, entierement d'accord.
Au passage, il existe dans la STL une classe : exception qui peut servir de classe mere aux exceptions d'un projet un peu comme tu le fais à la main.
Le seul defaut du c++ par rapport au java c'est la permissivité quant aux traite exceptions...

benou quand utiliser une exception ??? des que le comportement d'une méthode n'est pas un comportement normal et qu'elle n'arrivera pas à faire le traitement pour lequel elle a été appelée.
 
Quand est-ce qu'il faut en créer ?
moi j'en créer une de base pour chacun de mes projets, et ensuite j'en créé d'autre qui dérive de celle la.
 
Je n'ai pas encore trouvé de règles précises pour dire quand il faut créer de nouvelles exceptions... Tu peux déja en créée une lorsqu'elle peut apporter plus de renseignements qu'un simple message d'erreur : Il peut arriver que la couche du dessous ait besoin d'informations pour "résoudre" l'exception, tu peux stocker ces informations dans l'exception. Ensuite, c'est une questionde clarté, et ca permet de pouvoir filtrer les différents cas d'exceptions avec les catch.
gfive En Java, souvent, plein partout, justement, pour blinder, pour avoir des logs d'erreurs ou de déroulement du programme pertinents (normalement, au moment où tu la catches, tu catche un type précis d'exception, qui correspond à un problème précis)....c clair que ça fait des fois des  
try {
} catch (machin m) {
} catch (machin m2) {
...
(sans oublier le Finally, rhaaa!!:D)  
mauis au moins quand ça plante, tu sais pourquoi, et où (oui, pasqu'en Java, si tu logges la trace de l'exception, ça écrit la pile d'eppel dans les logs, très très pratique, mais en C++, je sais pas si ça existe)
 
donc, pour faire bref, j'en utilise plein?
tanguy Moi j'utilise très très rarement les exceptions
je voudrais savoir à quelles occasions vous les utilisez ?
et quand vous en créer (et surtout qd es qu'il faudrait les créer pour faire propre et cohérent) ?
 
en général je les catch quand j'appelle des fichiers, des mallocs, des trucs du genre.
donc c'est pas vraiment pas souvent
et vous ?
Tetragrammaton IHVH

H4dd3R a écrit a écrit :

J´ai pas dit que je l´utilisais mal!!
 
Je reproche justement que ça permet à pas mals de programmer comme des porcs!! ;)  




 
Avec des raisonnements comme ça, il ne faut pas utiliser le C++ ... :sarcastic:
 
Les exceptions : c'est bien plus propre que de faire des if/switch à chaque retour de méthodes en mettant des codes retour obscurs à documenter.

H4dd3R J´ai pas dit que je l´utilisais mal!!
 
Je reproche justement que ça permet à pas mals de programmer comme des porcs!! ;)
darklord22 c'est parce que tu utilises mal le mécanisme que tu as des problemes comme ca. L'exception doit etre catchée par le niveau qui est capable de résoudre le problème. Si tu remontes le plus haut possible, il n'y a plus de niveau (stack) dans ton code et donc c'est normal que ton niveau supérieur ne comprenne rien à ce qui se fait en interne.
H4dd3R Perso je suis pas un fan des exceptions..
 
Que ça soit un moyen comme un autre de rendre un message d´erreur soit, mais le pb c que ça aide à programmer comme un porc (du genre j´intercepte l´exception le plus loin possible de ce qui l´a lancé comme ça je dois pas me faire chier avec la gestion d´erreur).. :)
darklord22

cashmere a écrit a écrit :

Tu peux etre bon et ne pas savoir ça...




 
la programmation défensive tu connais?  :sarcastic:

benou

cashmere a écrit a écrit :

 
Tu peux etre bon et ne pas savoir ça...




 
que ce soit con comme question je suis parfaitement d'accord, mais être bon en programation sans savoir ce qu'est une exception ...

cashmere C'est exactement ça !!!!
D'ailleurs, je trouve ça complétement débile comme question ;-)
Kel est l'interet de savoir ça !!!!
Tu peux etre bon et ne pas savoir ça...
 
En tout cas merci beaucoup pour l'explication
Da True Clouseau C'est en gros ce que son commercial a dû retenir des entretiens qu'il a eu avec de précédents candidats. "Tu vas voir, le client risque de te poser des petites questions techniques sur le c++.  Par exemple sur les exceptions"
darklord22

benou a écrit a écrit :

un entretien pour un job dans lequel on te demande de savoir ce qu'est une exception en C++ :??:  




 
 :??: itou

benou un entretien pour un job dans lequel on te demande de savoir ce qu'est une exception en C++ :??:
aurel Exemple, (language inexistant :) )
try
{
File.open("c:\fichier.txt" );
}
catch (FileopenException e)
{
print("impossible d'ouvrir le fichier c:\fichier.txt" );
}
 
en gros, si le file.open se passe bien, l'interpreteur ne passera pas par le block catch, si ca se passe mal( fichier non présent, ou locké) ca passera par le block catch.
et tu fais ce que tu veux dedans le block catch.
 
y'a des sites qui expliquent ca, recherhe..
cashmere Salut,
j'ai un entretien pour un job lundi et on me demande de savoir ce que c'est une exception ??????,??????? (Visual C++)
On m'a parler de Try et Catch......
 
HELP HELP HELP

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