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

Code::Blocks Discussion :

Problème avec les exceptions


Sujet :

Code::Blocks

  1. #1
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 519
    Points : 5 168
    Points
    5 168
    Par défaut Problème avec les exceptions
    Bonjour, j'utilise le compilateur MinGW sous Code::Blocks

    Lorsque mon programme (peu importe lequel) lance une exception, celle-ci n'est pas catchée (testé en debug)
    A la place mon programme s'arrête avec l'erreur suivante dans la console :
    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.
    j'ai essayé un programme minimum comme celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <iostream>
     
    int main(int, char**)
    {
       try
       {
          throw "Test des exceptions";
       }
       catch(char* pMsg)
       {
          std::cout << pMsg << std::endl;
       }
     
       return 0;
    }
    pas d'erreur de compil ou le link mais message à l'execution

    je ne pense pas que l'EDI soit en faute, plutot un problème de configuration du compilateur ?
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    essaie plutôt avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    catch(const char* pMsg)

  3. #3
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 519
    Points : 5 168
    Points
    5 168
    Par défaut
    bingo, merci Eusebe, je ne catchai pas le bon type précisément
    (Visual étant moins strict, il gérait l'exception)

    une question, comment catcher une exception non gérée ?
    histoire d'afficher un message perso par exemple et de bien clore l'application en libérant les resources

    c'est peut-etre dans la faq, je vais aller voir en même temps

    encore merci
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  4. #4
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 519
    Points : 5 168
    Points
    5 168
    Par défaut
    je me répond à moi même, c'est bien dans la faq
    il suffit de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    catch(...)
    {
       // code de traitement d'une exception inconnue
    }
    donc dans mon cas, si j'avais fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <iostream>
     
    int main(int, char**)
    {
       try
       {
          throw "Test des exceptions";
       }
       catch(char* pMsg)
       {
          std::cout << pMsg << std::endl;
       }
       catch(...)
       {
          std::cout << "Exception non gérée" << std::endl;
       }
     
       return 0;
    }
    j'aurai eu le message
    Exception non gérée
    dans la console et cela m'aurai mis la puce à l'oreille
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les exceptions
    Par UmutFB dans le forum VB.NET
    Réponses: 5
    Dernier message: 05/08/2008, 17h40
  2. Réponses: 2
    Dernier message: 05/08/2008, 12h00
  3. Problème avec les Exceptions
    Par CORTEZ dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 23/05/2008, 11h06
  4. Problème avec les exceptions
    Par Mucho dans le forum wxWidgets
    Réponses: 3
    Dernier message: 04/10/2006, 18h10
  5. probléme avec les exceptions
    Par sofiane44 dans le forum Langage
    Réponses: 1
    Dernier message: 10/01/2006, 17h30

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