C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Re: Exception et serialisation sous Visual C++ et MFC

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Vincent Richard
Guest





PostPosted: Wed Aug 27, 2003 5:18 pm    Post subject: Re: Exception et serialisation sous Visual C++ et MFC Reply with quote



Le Mercredi 27 Août 2003 18:53, Jmr a écrit :

Quote:
Bonjour, j'aimerais savoir comment contrôler le bon déroulement d'une
opération de sérialisation sous Visual C++. En effet, je ne comprends pas
(ne vous moquez pas SVP.) comment utiliser les exceptions. Dans la
description fournie par l'aide en ligne, la méthode Serialise est
présentée ainsi :
CObject::Serialize
virtual void Serialize( CArchive& ar );
throw( CMemoryException );
throw( CArchiveException );
throw( CFileException );

CMonObjet obj;
CArchive ar(...);

// ...

try
{
// ...
obj.Serialize(ar);
// ...
}
catch (CMemoryException& e)
{
// exception mémoire
// voir la doc MFC pour récupérer le message: e.???()
}
catch (CArchiveException& e)
{
// exception archive
// voir la doc MFC pour récupérer le message: e.???()
}
catch (CFileException& e)
{
// exception fichier
// voir la doc MFC pour récupérer le message: e.???()
}

Il me semble que toutes les exceptions héritent de CException, donc tu peux
aussi attraper en une seule fois un "CException& e", sans savoir de quel
type il s'agit cependant...

Vincent

--
SL> Au fait elle est mieux ma signature maintenant ?
Oui. T'enlève encore les conneries que t'as écrit dedans et c'est bon.
-+- JB in <http://www.le-gnu.net> : Le neuneuttoyage par le vide -+-

Back to top
Patrick Mézard
Guest





PostPosted: Wed Aug 27, 2003 6:10 pm    Post subject: Re: Exception et serialisation sous Visual C++ et MFC Reply with quote




"Vincent Richard" <chere-loque.MARRE-DE-LA-PUB (AT) wanadoo (DOT) fr.invalid> a écrit
dans le message de news:3f4ce8b7$0$1151$626a54ce (AT) news (DOT) free.fr...
Quote:
Le Mercredi 27 Août 2003 18:53, Jmr a écrit :

Bonjour, j'aimerais savoir comment contrôler le bon déroulement d'une
opération de sérialisation sous Visual C++. En effet, je ne comprends
pas
(ne vous moquez pas SVP.) comment utiliser les exceptions. Dans la
description fournie par l'aide en ligne, la méthode Serialise est
présentée ainsi :
CObject::Serialize
virtual void Serialize( CArchive& ar );
throw( CMemoryException );
throw( CArchiveException );
throw( CFileException );

CMonObjet obj;
CArchive ar(...);

// ...

try
{
// ...
obj.Serialize(ar);
// ...
}
catch (CMemoryException& e)
{
// exception mémoire
// voir la doc MFC pour récupérer le message: e.???()
}
catch (CArchiveException& e)
{
// exception archive
// voir la doc MFC pour récupérer le message: e.???()
}
catch (CFileException& e)
{
// exception fichier
// voir la doc MFC pour récupérer le message: e.???()
}

Il me semble que toutes les exceptions héritent de CException, donc tu
peux
aussi attraper en une seule fois un "CException& e", sans savoir de quel
type il s'agit cependant...

Sauf qu'il me semble que le système d'exceptions des MFC a été implémenté
avant la fonctionnalité du langage, et qu'il faut attraper non pas des
références mais des pointeurs sur exceptions. En gros, dans le code de
Vincent, remplace :

catch (CMemoryException& e)
{
// exception mémoire
// voir la doc MFC pour récupérer le message: e.???()
}

par

catch (CMemoryException* e)
{
// exception mémoire
// voir la doc MFC pour récupérer le message: e.???()
}

Mais tu auras plus d'informations (et de meilleure qualité) sur un newsgroup
dédié aux MFC.

Patrick Mézard




Back to top
Jmr
Guest





PostPosted: Wed Aug 27, 2003 7:28 pm    Post subject: Re: Exception et serialisation sous Visual C++ et MFC Reply with quote



Merci à tous !
"Patrick Mézard" <patrick.mezard (AT) ifrance (DOT) com> a écrit dans le message de
news:biis6k$t36$1 (AT) news-reader1 (DOT) wanadoo.fr...
Quote:

"Vincent Richard" <chere-loque.MARRE-DE-LA-PUB (AT) wanadoo (DOT) fr.invalid> a écrit
dans le message de news:3f4ce8b7$0$1151$626a54ce (AT) news (DOT) free.fr...
Le Mercredi 27 Août 2003 18:53, Jmr a écrit :

Bonjour, j'aimerais savoir comment contrôler le bon déroulement d'une
opération de sérialisation sous Visual C++. En effet, je ne comprends
pas
(ne vous moquez pas SVP.) comment utiliser les exceptions. Dans la
description fournie par l'aide en ligne, la méthode Serialise est
présentée ainsi :
CObject::Serialize
virtual void Serialize( CArchive& ar );
throw( CMemoryException );
throw( CArchiveException );
throw( CFileException );

CMonObjet obj;
CArchive ar(...);

// ...

try
{
// ...
obj.Serialize(ar);
// ...
}
catch (CMemoryException& e)
{
// exception mémoire
// voir la doc MFC pour récupérer le message: e.???()
}
catch (CArchiveException& e)
{
// exception archive
// voir la doc MFC pour récupérer le message: e.???()
}
catch (CFileException& e)
{
// exception fichier
// voir la doc MFC pour récupérer le message: e.???()
}

Il me semble que toutes les exceptions héritent de CException, donc tu
peux
aussi attraper en une seule fois un "CException& e", sans savoir de quel
type il s'agit cependant...

Sauf qu'il me semble que le système d'exceptions des MFC a été implémenté
avant la fonctionnalité du langage, et qu'il faut attraper non pas des
références mais des pointeurs sur exceptions. En gros, dans le code de
Vincent, remplace :

catch (CMemoryException& e)
{
// exception mémoire
// voir la doc MFC pour récupérer le message: e.???()
}

par

catch (CMemoryException* e)
{
// exception mémoire
// voir la doc MFC pour récupérer le message: e.???()
}

Mais tu auras plus d'informations (et de meilleure qualité) sur un
newsgroup
dédié aux MFC.

Patrick Mézard






Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.