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

SL & STL C++ Discussion :

std::exception: avec ou sans string?


Sujet :

SL & STL C++

  1. #1
    Membre averti
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Points : 392
    Points
    392
    Par défaut std::exception: avec ou sans string?
    Salut, j'ai récemment eu un problème de code incompatible entre VC2005 et GCC4 (sous OSX) concernant la classe std::exception.
    Sous VC, je peux instantier la classe en donnant un string en paramètre qui sera le message retourné par la méthode what(). Ceci ne fonctionne pas sous xcode/gcc pour une raison de fonction parametrée non existante.
    En consultant STLport, je me suis rendu compte que cette STL non plus ne possède std::exception::exception(string) (ou const char*).

    Je voulais donc savoir quelle est l'implementation "correcte" de la std::exception ?


    PS: ca ne me dérange pas d'avoir une autre classe à créer, seulement j'ai des doutes sur la nécessité.

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Les classes d'exception les plus fondamentales, exception, bad_exception et bad_alloc n'ont pas de paramètre dans leur constructeur, probablement pour que ces exceptions puissent être lancées sans problème dans toutes les circonstances, y compris quand il n'y a plus de mémoire libre...

    Les classes dérivant de runtime_error et logic_error en ont un.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Membre averti
    Homme Profil pro
    Game Graphics Programmer
    Inscrit en
    Août 2006
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Game Graphics Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 408
    Points : 392
    Points
    392
    Par défaut
    Bien, merci. Ca explique. (M$ et les standards... ).

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

Discussions similaires

  1. Liste de string avec propriétés sans collections
    Par Mortlhomme dans le forum VB.NET
    Réponses: 6
    Dernier message: 09/03/2013, 18h51
  2. [Débutant] condition de lecture avec/sans string
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 3
    Dernier message: 08/09/2012, 11h11
  3. Réponses: 4
    Dernier message: 09/06/2012, 09h08
  4. Réponses: 4
    Dernier message: 06/10/2010, 09h28
  5. Réponses: 5
    Dernier message: 25/02/2008, 22h28

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