IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

vc++6 try catch gestion des exceptions..


Sujet :

Visual C++

  1. #1
    Membre tr�s actif
    Profil pro
    D�veloppeur ind�pendant
    Inscrit en
    Ao�t 2004
    Messages
    374
    D�tails du profil
    Informations personnelles :
    �ge : 56
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur ind�pendant
    Secteur : Transports

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 374
    Par d�faut vc++6 try catch gestion des exceptions..
    Salut !

    Deux problemes bizarres concernant la gestion des exceptions.
    1: j'ai mis en place une serie de try catch, en mode release, cela releve l'erreur et permet de recuperer l'execution du programme,
    mais je m'apercois que le code ins�r� dans le bloc catch ne semble pas etre execut�.

    2: en passant en mode debug, je provoque l'erreur (CMemoryException) par un pointeur remis � NULL, l'exception se produit, mais impossible d'aller � l'execution du code catch..

    donc, est-ce que l'execution de code � l'interieur d'un catch est limit�e � une certaines categorie de fonctions.

    et comment suivre se qui se passe dans un catch en mode debug.???

    en clair, la gestion des exceptions MFC marche si je leve un throw genre AfxThrowMemoryException()
    , mais les exceptions 0xC0000005 par exemple ne sont pas intercept�es et ne peuvent donc pas �tre trait�es..
    comment faire pour les intercepter et faire en sorte que le programme ne plante pas lamentablement...

    Merci.

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    L�, vous �tes en plein dans un sac de noeud qu'est la gestion des exceptions SEH ou "C" dans du code C++.

    L'option magique, c'est "/EHa".

    http://msdn.microsoft.com/en-us/libr...v=VS.100).aspx

    cf. : http://webcache.googleusercontent.co...&ct=clnk&gl=fr

  3. #3
    Membre tr�s actif
    Profil pro
    D�veloppeur ind�pendant
    Inscrit en
    Ao�t 2004
    Messages
    374
    D�tails du profil
    Informations personnelles :
    �ge : 56
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur ind�pendant
    Secteur : Transports

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 374
    Par d�faut oui mais pour quelle environnement.?
    parceque sous vc6, j'ai beau chercher, impossible de mettre la main sur o� positionnner cette option, et est elle seulement valide sous vc6??

    heureusement, j'ai pu recuperer ces plantages autrement, en mettant une meilleur gestion et surveillance des process incrimin�s.

    mais j'ai toujours pas de solution viable pour intercepter ce genre d'exception qui peut provenir de n'importe quelle dll ou sous process qui d�cide de peter un cable tout seul dans son coin..

    finalement, en cherchant bien, il faut les mettre � la main, mais c'est dangereux, parcequ'alors, on a la responsabilit� de la gestion de TOUTES les exceptions qui sont normalement g�r�es par le syst�me, comme les exceptions de premi�re chance par exemple relatives au chargement des resources des fenetres.(ca a l'air b�te, mais certaines resources sont en lecture seules et leur lecture par le programme, qui veut un acc�s en ecriture sur ces resources, d�clenche une exception, g�r�e par le syst�me, qui recopie alors ces resources dans un emplacement ad�quat, et renvoie le handle au programme.. imaginez de devoir g�rer ca..)
    si on passe dans le mode de gestion complet, il faut g�rer soit m�me tous ces evenements et un teraflop d'autres!

    sans doute que je suis trop inquiet.
    j'ai r�solu mes bugs et bien mieux compris un sujet qui me posait probleme..

    donc, gerer les resources dans le programme et lever les erreurs par afxthrow.. pour generer l'interruption qui permet d'intercepter celle ci et de la traiter apr�s l'appel de la fonction.
    ca peut paraitre idiot pour certains, mais pour comprendre et retenir, je dois TOUT comprendre du sujet.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Gestion des exceptions imbriqu�e dans des Try et boucle
    Par Dro�de Syst�me7 dans le forum D�buter
    R�ponses: 7
    Dernier message: 13/01/2010, 18h30
  2. [ORACLE 9i] Gestion des exceptions
    Par sygale dans le forum SQL
    R�ponses: 6
    Dernier message: 19/08/2004, 15h06
  3. Gestion des exception (EOleException)
    Par shurized dans le forum Bases de donn�es
    R�ponses: 5
    Dernier message: 30/06/2004, 17h25
  4. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    R�ponses: 2
    Dernier message: 28/01/2003, 17h48
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    R�ponses: 7
    Dernier message: 05/06/2002, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo