begin process at 2012 05 29 03:26:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

gestion des exceptions dans Visual C++ 6


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

gestion des exceptions dans Visual C++ 6

jeudi 15 mai 2003 à 12:45:55 | gestion des exceptions dans Visual C++ 6

devmail

Bonjour a tous,
je suis en cours de developpement d'un programme compose d'un prg principale et de plusieurs dll. J'ai terminer les traitements et souhaite lever des exceptions plutot que des return "error....".

Donc dans une dll je cree le code suivant :



class MyRecordsetExeption
{
};

class AFX_EXT_CLASS CSuperRecordset
{
void Open( ) throw (MyRecordsetExeption)
{
// pour le test je force la methode a lancer une exception
throw MyRecordsetExeption();
}
};


et dans une seconde dll le code suivant :


class test
{
void executeTraitement(param)
{
try
{
CSuperRecordset D;
D.Open();
}
catch (MyRecordsetExeption*e)
{
// Traitement error
delete e;
e = NULL;
}
};


Quand je compile la premiere dll j'obtient le msg warning :
warning C4290: C++ Exception Specification ignored
(ce messqge pointe sur la portion de code de declaration de la methode Open de la classe)

Quand j'execute la totale cq plante en lancant une messageBox systeme type : Runtime Error ! Abnormal programm termination et quand je lance de debugger le prg plante sur l'instruction throw MyRecordsetExeption(); contenu dans la methode Open.

Je pense que cela est du a l'utilisation d'exception dans des dll mais je ne vois pas ce aue je dois faire pour que cela fonctionne.

Merci pour le coup de main
vendredi 16 mai 2003 à 12:50:10 | Re : gestion des exceptions dans Visual C++ 6

NitRic

1) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/c4290.asp

2) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/C4290.asp

Voilà, avec ces 2 liens tu devrais trouver le pourquoi, il y à un petit 'truc' pour éviter ce genre d'erreur, ils disent comment faire. Si tu as d'autres erreurs du genre CXXXX va sur www.msdn.microsoft.com et dans le moteur de recherche tape le code d'erreur CXXXX et tu vas tout savoir sur l'erreur en question, génial non!? ;)


~(.:: NitRic ::.)~


-------------------------------
Réponse au message :
-------------------------------

> Bonjour a tous,
> je suis en cours de developpement d'un programme compose d'un prg principale et de plusieurs dll. J'ai terminer les traitements et souhaite lever des exceptions plutot que des return "error....".
>
> Donc dans une dll je cree le code suivant :
>
>
>

> class MyRecordsetExeption
> {
> };
>
> class AFX_EXT_CLASS CSuperRecordset
> {
> void Open( ) throw (MyRecordsetExeption)
> {
> // pour le test je force la methode a lancer une exception
> throw MyRecordsetExeption();
> }
> };
>

>
> et dans une seconde dll le code suivant :
>
>

> class test
> {
> void executeTraitement(param)
> {
> try
> {
> CSuperRecordset D;
> D.Open();
> }
> catch (MyRecordsetExeption*e)
> {
> // Traitement error
> delete e;
> e = NULL;
> }
> };
>

>
> Quand je compile la premiere dll j'obtient le msg warning :
> warning C4290: C++ Exception Specification ignored
> (ce messqge pointe sur la portion de code de declaration de la methode Open de la classe)
>
> Quand j'execute la totale cq plante en lancant une messageBox systeme type : Runtime Error ! Abnormal programm termination et quand je lance de debugger le prg plante sur l'instruction throw MyRecordsetExeption(); contenu dans la methode Open.
>
> Je pense que cela est du a l'utilisation d'exception dans des dll mais je ne vois pas ce aue je dois faire pour que cela fonctionne.
>
> Merci pour le coup de main
lundi 19 mai 2003 à 00:26:59 | Re : gestion des exceptions dans Visual C++ 6

devmail

Bonsoir NitRic et a vous autres
merci pour ta reponse, pour info j'arrive a virer les messages warning lors de la compil mais pour le fonctionnement pas mieux.
Vraiment c'est a n'y rien comprendre car les exceptions fonctionnent tres tres bien dans le cadre d'un programme simple mais lorsque l'on charge des dll c'est une autre affaire.
Je vais encore essayer de retourner le truc dans tous les sens et puis si ca prend trop la tete et ben pas d'exception et j'utiliserais des bon vieux return "code erreur". Dommage le principe des exceptions rend le code plus simple donc plus propre et ainsi plus stable>

merci et bonne soiree



-------------------------------
Réponse au message :
-------------------------------

> 1) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/html/c4290.asp
>
> 2) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/C4290.asp
>
> Voilà, avec ces 2 liens tu devrais trouver le pourquoi, il y à un petit 'truc' pour éviter ce genre d'erreur, ils disent comment faire. Si tu as d'autres erreurs du genre CXXXX va sur www.msdn.microsoft.com et dans le moteur de recherche tape le code d'erreur CXXXX et tu vas tout savoir sur l'erreur en question, génial non!? ;)
>
>
> ~(.:: NitRic ::.)~
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour a tous,
> > je suis en cours de developpement d'un programme compose d'un prg principale et de plusieurs dll. J'ai terminer les traitements et souhaite lever des exceptions plutot que des return "error....".
> >
> > Donc dans une dll je cree le code suivant :
> >
> >
> >

> > class MyRecordsetExeption
> > {
> > };
> >
> > class AFX_EXT_CLASS CSuperRecordset
> > {
> > void Open( ) throw (MyRecordsetExeption)
> > {
> > // pour le test je force la methode a lancer une exception
> > throw MyRecordsetExeption();
> > }
> > };
> >

> >
> > et dans une seconde dll le code suivant :
> >
> >

> > class test
> > {
> > void executeTraitement(param)
> > {
> > try
> > {
> > CSuperRecordset D;
> > D.Open();
> > }
> > catch (MyRecordsetExeption*e)
> > {
> > // Traitement error
> > delete e;
> > e = NULL;
> > }
> > };
> >

> >
> > Quand je compile la premiere dll j'obtient le msg warning :
> > warning C4290: C++ Exception Specification ignored
> > (ce messqge pointe sur la portion de code de declaration de la methode Open de la classe)
> >
> > Quand j'execute la totale cq plante en lancant une messageBox systeme type : Runtime Error ! Abnormal programm termination et quand je lance de debugger le prg plante sur l'instruction throw MyRecordsetExeption(); contenu dans la methode Open.
> >
> > Je pense que cela est du a l'utilisation d'exception dans des dll mais je ne vois pas ce aue je dois faire pour que cela fonctionne.
> >
> > Merci pour le coup de main
>


Cette discussion est classée dans : code, class, dll, open, myrecordsetexeption


Répondre à ce message

Sujets en rapport avec ce message

Dll en c++ dans du code C [ par rurouni41 ] bonjour, je dois integrer une DLL codee en C++ dans un programme en c...Donc je voulais savoir s'il y avait moyen(et comment faire) d ouvrir et d'util heritage et dll dynamique [ par dune ] Bonjour,je programme un gestionnaire de plugins et certaines fonctions et class doivent etre utilisees dans chaque plugin. Je mets donc mes fonctions Pb de lien entre DLL et EXE [ par Sade ] Salut tous le monde.j'ai un problème avec une de mes Dll.Ma Dll est composé de trois classe:Class P : la classe pricipale qui est instancié dans le pr (MS VCpp) Problème de variables [ par YS1 ] J'ai créé une DLL C+PP que je souhaite utiliser dans un programe VB.La fonction principale de la DLL renvoie un certain nombre de variables, qui sont Lien explicite de DLL [ par garslouche ] Bonjour,j'aimerai savoir si quelqu'un sait comment on accède à une variable (et pas à une fonction) en ayant lié explicitement une DLL ? En gros mon c taille de matrice [ par MLine ] Dans c++ builder 5, je déclare une matrice dans ma classe Organism :class Organism{ // plein d'autres trucs protected : static float DispCoef DLL activeX [ par guiguimac ] Bonjour,n'ayant jamais rien fait de trés poussé en C++, j'aimerai savoir si qq'un dispose d'un tut ou d'un exemple de code permettant la réalisation d Idle - Hook - dll [ par Manson ] Bonjour,voila, j'ai trouve le code d'une dll permettant de savoirdepuis combien de temps le PC est inactif.Mais voila, elle a un probleme, quelque foi Utilisation DLL SANS .lib [ par nasedo47 ] J'ai récupéré une DLL sur un site ainsi qu'une page avec les prototypes de toutes les fonctions contenues dans cette DLL.J'aimerais utiliser ces fonct Dll LoadLibrary --> Erreur [ par mortiis ] Bonjour à tous J'ai fait un prog qui devrais utiliser une dll pour faire un test j'ai fait un dll qui me fait afficher un MessageBox.Le problème est q


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,250 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales