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

C++Builder Discussion :

Créer ses propres exceptions


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut Créer ses propres exceptions
    Bonjour à tous,

    je cherche le moyen de créer mais surtout d'utiliser mes propres excpetion.
    Evidément la doc du BDS2006 ne donne des exemple que pour delphi utilisant le mot clef raise. Or ce n'est pas un mot clef du C++, du coup j'ai un peu farfouillé dans la FAQ et sur sans grand succès.

    Quelqu'un pourrait il me donner un tuyau ?

    Merci d'avance,

    Neilos

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Perso j'aurais dis throw...
    D'ailleurs, je viens de lire qq lignes a ce sujet ici
    et j'espère que cela peut correspondre a ce que tu cherchais...
    @+

    //edit :
    je n'ai pas - comme tu le sais peut être - un grand niveau théorique, donc je suis peut être loin de ce que tu recherches

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par défaut
    Hello,

    effectivement le throw est bon. Par contre j'ai un peu de mal qd même :

    Je fais cela pour déclencher mon exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ( deleted )
    		throw new EOperationOnDeletedItem("Opération sur un festival supprimé.");
    L'exception étant déclarée de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class EOperationOnDeletedItem : public Exception
    {
    	public:
    		EOperationOnDeletedItem( AnsiString message );
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    EOperationOnDeletedItem::EOperationOnDeletedItem( AnsiString message )
    {
    	Message = message;
    }
    Lors de la compilation j'ai droit aux erreures suivante :

    Ligne début du constructeur : "Impossible de trouver un constructeur par défaut pour la classe de base Exception"
    Bref ça marche pas et je me perd un peu...grrr je déteste l'aide du BDS !

  4. #4
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Citation Envoyé par L'aide BCB6
    Vous pouvez déclarer une nouvelle classe d'exception en créant un descendant de type Exception et en créant autant de constructeurs que nécessaire (ou en copiant les constructeurs depuis une classe existant dans Sysutils.hpp).
    Y'a plus qu'à

  5. #5
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonjour,
    Je me permet de poster un bout de code, bien que n'ayant pas encore la solution au problème posé; et ce, dans l'espoir que qqu'un finalement saura corriger mon erreur et me pemettre de comprendre le principe :
    dans le .cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    __fastcall EOI :: EOI(const AnsiString Msg) : Exception(Msg)
    {
            Message = Msg;
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void __fastcall TForm4::Button2Click(TObject *Sender)
    {
          throw new EOI("Opération sur un festival supprimé.");
    }
    dans le .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class EOI : public Exception
    {
            typedef Exception inherited;
     
    public:
            __fastcall EOI(const AnsiString Msg);
    };
    ceci étant déclaré en amont de la déclaration de la TForm...
    J'obtiens, lorsque j'execute l'.exe et lance l'erreur : Externat error...

    Une ch'tite idée ?
    @ +

  6. #6
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut, je viens de tomber sur ca qui pourrait peut être vous intéresser.

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

Discussions similaires

  1. Créer ses propres exceptions
    Par dr_anas dans le forum C#
    Réponses: 2
    Dernier message: 08/04/2013, 14h59
  2. [JNI] creer ses propres exceptions
    Par Batou dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 23/08/2006, 04h01
  3. [Struts][Validator] : créer ses propre validator
    Par anaon dans le forum Struts 1
    Réponses: 3
    Dernier message: 10/05/2006, 07h19
  4. [Struts]créer ses propres tag struts
    Par jeb001 dans le forum Struts 1
    Réponses: 3
    Dernier message: 08/09/2005, 19h56
  5. Programme permettant de créer ses propres paquets TCP/UDP
    Par mat087 dans le forum Développement
    Réponses: 6
    Dernier message: 21/05/2004, 21h42

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