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 :

Capter exception EOleException


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 109
    Par défaut Capter exception EOleException
    Bonsoir,
    je suis entrain de developper une application pour gérer les droits d'acces a une base de donnée, j'utilise CBuilder 6 + sql server.

    Lorsque une action est rejetée par sql server => une exception EOleException est générée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Debugger Exception Notification
    ---------------------------
    Project Project1.exe raised exception class EOleException with message 'The UPDATE permission was denied on the column 'Age' of the object 'Client1", database 'Client', schema 'dbo''. Process stopped. Use Step or Run to continue.
    Mon problème c comment capter cette exception ?
    (je veux la captée pour afficher par exemple un msg "Acces rejeté", c juste un test pour prouver que ma configuration des droits d'acces est correcte)

    Et merci d'avance.

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    avec un bloc try-catch:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try
    {
      //code pouvant générer une exception
    }
    catch(...)
    {
      //code exécuté si une exception est généré
    }

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 109
    Par défaut
    Merci pour votre reponse,
    J ai essaie deja ça mais sans resultat, voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    try
    {
    Table1->Edit();
    Table1->FieldByName("age")->AsInteger=110;
    Table1->Post();
    }
    catch(Exception &e){
     ShowMessage("Exception");
    }
    lorsque j execute pas a pas, il ne rentre jamais a catch ???
    j ai essaie d'utiliser catch (EOleException e) mais il genere un msg d'erreur

    Merci d'avance

  4. #4
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Si à l'exécution tu ne rentre pas dans le catch, c'est qu'aucune exception n'est générée!

    Par contre il faut savoir qu'en mode debug (lorsque tu exécute ton projet à partir de l'IDE) les exceptions sont quand même affichées à l'exécution.

    Essai de lancer ton exécutable directement depuis l'explorer pour voir si le comportement est conforme a ce que tu attend.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 109
    Par défaut
    Merci Mille fois, ça a marché, je ne savais pas que les exceptions restent lorsque on execute a partir de l IDE.
    Merci encore une fois

  6. #6
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Citation Envoyé par foufar2009 Voir le message
    je ne savais pas que les exceptions restent lorsque on execute a partir de l IDE.
    :
    Il s'agit d'une option. Si tu ne souhaite pas que l'exception soit affiché en mode debug lorsqu'elle est dans un try....catch:
    Sous BCB5, tu va dans Outils > Options du debugger, dans l'onglet Exceptions du langage tu décoche la case "Arrêter sur exceptions C++/Delphi"

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/05/2015, 08h48
  2. Probleme pour capter une exception
    Par Krishna dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 12/01/2009, 21h44
  3. Exception EOleException incompréhensible
    Par Eric Beaumard dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/01/2008, 14h27
  4. Gestion des exception (EOleException)
    Par shurized dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/06/2004, 17h25
  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