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

 


Dernière réponse
Sujet : [C++] Gérer les erreurs ?
godbout quelle merde :mad:
 
(up disguised)
(super english)

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
godbout quelle merde :mad:
 
(up disguised)
(super english)
godbout si je connais un peu tout ca, mais je vois pas trop comment les utiliser, j'ai pas envie d'en foutre partout :/
karlkox je suis pas tres C++ mais en plus de try, catch, finally y a pas un throw qui traine ?
godbout

antp a écrit a écrit :

Souvent messagebox/showmessage pour les trucs simples, sinon un fichier log, créé au démarrage du prog, accessible en global par Log->Add("erreur machin" );
 
 
pour tout ce qui est allocation mémoire:
 
try
{
}
__finally
{
}
 
(finally ça vient du Pascal, donc ça n'existe que dans C++Builder)
ça permet d'être sûr à 100% que la mémoire est libérée :
 
obj = new TObj;
try
{
  peu importe ce qui se passe ici la mémoire sera libérée
}
__finally
{
  delete obj;
}
 
En Pascal même si on fait un Exit (return du C) il passe par le finally, je pense qu'il fait de même en C++Builder.
 
Mais bon là c'est peut-être plus vraiment dans le sujet... Enfin c'est quand même dans la gestion des erreurs :D  




 
L'histoire du log cree au demarrage c'est pas mal du tout. Bon pour le reste je bosse sous Visual :D

chrisbk (me semble que finally existe aussi dans VC, cf msdn)
antp Et vous utilisez catch(...) ou bien plutôt en filtrant les exceptions (genre un catch qui ne prend que les exception prévues) ?
je suis pas très clair là je crois :D

 

[jfdsdjhfuetppo]--Message édité par antp le 15-05-2002 à 11:54:10--[/jfdsdjhfuetppo]

Harkonnen toute la difficulté de l'utilisation des try....catch provient justement du fait qu'il faut restreindre au maximum l'endroit ou l'erreur est susceptible de se produire
antp Souvent messagebox/showmessage pour les trucs simples, sinon un fichier log, créé au démarrage du prog, accessible en global par Log->Add("erreur machin" );
 
 
pour tout ce qui est allocation mémoire:
 
try
{
}
__finally
{
}
 
(finally ça vient du Pascal, donc ça n'existe que dans C++Builder)
ça permet d'être sûr à 100% que la mémoire est libérée :
 
obj = new TObj;
try
{
  peu importe ce qui se passe ici la mémoire sera libérée
}
__finally
{
  delete obj;
}
 
En Pascal même si on fait un Exit (return du C) il passe par le finally, je pense qu'il fait de même en C++Builder.
 
Mais bon là c'est peut-être plus vraiment dans le sujet... Enfin c'est quand même dans la gestion des erreurs :D
godbout

Bonhomme a écrit a écrit :

 
 
Avec une classe de gestion des erreurs ça marche po mal!
 
Bonhomme  




 
Tu pourrais detailler un peu plus ?
 
Merci
 
Godbout :D

godbout

Harkonnen a écrit a écrit :

Avec une gestion d'exception (try ... catch). J'encapsule la routine suspecte dans un try...catch, et je vois l'exception générée.
 
Sinon, avec une MessageBox() pour voir la valeur de certaines variables. Efficace..  




 
Enfin je parlais pas de voir ou sont les erreurs, mais plutot de gerer une erreur inattendue et de gerer un fichier log.
Pour l'instant je cree un fichier log mais je fourni pas des renseignements precis parce que je fais des try catch assez grossiers.

Harkonnen Avec une gestion d'exception (try ... catch). J'encapsule la routine suspecte dans un try...catch, et je vois l'exception générée.
 
Sinon, avec une MessageBox() pour voir la valeur de certaines variables. Efficace..
Bonhomme

Godbout a écrit a écrit :

Comment vous faites ?
 
Merci :D  




 
Avec une classe de gestion des erreurs ça marche po mal!
 
Bonhomme

godbout Comment vous faites ?
 
Merci :D

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR