 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Vincent Richard Guest
|
Posted: Wed Aug 27, 2003 5:18 pm Post subject: Re: Exception et serialisation sous Visual C++ et MFC |
|
|
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
|
Posted: Wed Aug 27, 2003 6:10 pm Post subject: Re: Exception et serialisation sous Visual C++ et MFC |
|
|
"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
|
Posted: Wed Aug 27, 2003 7:28 pm Post subject: Re: Exception et serialisation sous Visual C++ et MFC |
|
|
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 |
|
 |
|
|
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
|
|