[C++] Gérer les erreurs ?

Gérer les erreurs ? [C++] - Programmation

Marsh Posté le 15-05-2002 à 11:36:07    

Comment vous faites ?
 
Merci :D


---------------
Super.
Reply

Marsh Posté le 15-05-2002 à 11:36:07   

Reply

Marsh Posté le 15-05-2002 à 11:38:56    

Godbout a écrit a écrit :

Comment vous faites ?
 
Merci :D  




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

Reply

Marsh Posté le 15-05-2002 à 11:39:41    

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..


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-05-2002 à 11:49:41    

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.


---------------
Super.
Reply

Marsh Posté le 15-05-2002 à 11:49:57    

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


---------------
Super.
Reply

Marsh Posté le 15-05-2002 à 11:51:06    

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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 15-05-2002 à 11:52:10    

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


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-05-2002 à 11:53:57    

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]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 15-05-2002 à 11:55:43    

(me semble que finally existe aussi dans VC, cf msdn)

Reply

Marsh Posté le 15-05-2002 à 12:01:34    

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


---------------
Super.
Reply

Marsh Posté le 15-05-2002 à 12:01:34   

Reply

Marsh Posté le 15-05-2002 à 14:02:01    

je suis pas tres C++ mais en plus de try, catch, finally y a pas un throw qui traine ?

Reply

Marsh Posté le 15-05-2002 à 14:04:24    

si je connais un peu tout ca, mais je vois pas trop comment les utiliser, j'ai pas envie d'en foutre partout :/


---------------
Super.
Reply

Marsh Posté le 17-05-2002 à 17:21:35    

quelle merde :mad:
 
(up disguised)
(super english)


---------------
Super.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed