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

Ada Discussion :

Propager une erreur et empêcher l'affichage de message


Sujet :

Ada

  1. #1
    Invité
    Invité(e)
    Par défaut Propager une erreur et empêcher l'affichage de message
    Bonjour,

    Par défaut, lorsqe je propage une erreur, j'obtien un message d'erreur.
    je voudrais propager les erreurs et empêcher l'affichage de ces messages.

    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut Mes excuses


    Veuillez accepter mes excuses ...

    Si je propage jusqu'au main ... un null en l'alternative d'exception mène à la fin du programme de toute façon ..


    La fatigue peut-être.

    (je prends même le pointeur de la sourie pour un moucheron tout de suite..

  3. #3
    Invité
    Invité(e)
    Par défaut
    Non, finalement ... la question est bien bonne.

    Je m'explique ...

    J'ai le main, en dessous j'ai un premier paquetage, qui est au dessu un second paquetage. Dans ce dernier, j'effectu l'initialisation du programme (avec un begin et un exception dans le corp du paquetage)... si l'initialisation échoue, je lève une erreur.

    je ne sais pas si c'est clair.


    Merci pour votre aide.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 114
    Points : 139
    Points
    139
    Par défaut
    Bonjour,

    Tu peux nous la refaire stp .
    Comment propages-tu ton erreur ? Montre-nous du code (même s'il est édulcoré).

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour Lowelace

    je donne le lien sur l'index des source au format html.

    http://denimes.net/src-html2/index.html

    Donc, il sagit de propager l'erreur Usage_Error dans emmanuel.adb j'usqu'au main, sans our autant afficher le message d'erreur final.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Euh, ca marche pas, le temps de tout mettre à jour et ça roule !

    Désolé.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 114
    Points : 139
    Points
    139
    Par défaut
    Si j'ai bien lu ton code, tu traites l'erreur au niveau de emmanuel.adb (petit message puis raise).
    En faisant, cela tu propage à l'appelant, qui est à ce niveau l'élaboration Ada, qui est appelé implicitement avant le code du main.
    Comme dans ton main tu n'as pas de traitement d'erreur, elle remonte au niveau supérieur qui est le handler par défaut Ada, d'où le message d'erreur.
    Si tu mets,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exception when others => null;
    à la fin de ton main ca devrait aller mieux.

  8. #8
    Invité
    Invité(e)
    Par défaut
    J'y ai cru mais non.

    Ca plante, le programme ne termine pas.

  9. #9
    Invité
    Invité(e)
    Par défaut
    C'est intéressant d'ailleur.


    Merci au fait

  10. #10
    Invité
    Invité(e)
    Par défaut
    Ah, mais il plante de toute manière ...

    Donc, il y à autre chose qui va pas...

    Je tiens au courant...

  11. #11
    Invité
    Invité(e)
    Par défaut
    Yep !

    j'ai trouvé pourquoi ça planté.

    Et donc, ça m'affiche quant même

    raised EMMANUEL.USAGE_ERROR : emmanuel.adb:384

    rhh

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 114
    Points : 139
    Points
    139
    Par défaut
    Et si tu supprimes le raise ?

  13. #13
    Invité
    Invité(e)
    Par défaut
    Et bien le programme ne termine pas par erreur.

    Je vais faire les choses autrement ...

  14. #14
    Invité
    Invité(e)
    Par défaut Pas de solution
    Yep !

    J'ai cherché dans les bibliothèque standard et non standard à ma disposition un moyen de faire ce que je voulais, mais sans succès.

    J'ai donc réorganisé l'ensemble de mon code.


    je marque résolut mais en fait, il n'y a pas de solution.

    (le code cible du lien ci-dessus est mis à jour)

    Merci Lowelace

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 114
    Points : 139
    Points
    139
    Par défaut
    J'ai peut-être trouvé qq chose.
    J'ai relu des programmes Ada qui levaient des exceptions et qui quand ils plantaient n'affichaient pas de message d'insultes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    exception
       when others =>
          Ada.Command_Line.Set_Exit_Status (Failure);
    ajouté dans le "main".

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

Discussions similaires

  1. [XL-2010] Empêcher l'affichage de messages d'alerte
    Par Kutoh dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/09/2013, 15h46
  2. Empécher l'affichage de messages
    Par ALEX15 dans le forum MATLAB
    Réponses: 0
    Dernier message: 14/05/2012, 11h02
  3. [2.x] Erreur sur la partie affichage du message "'Mon premier message'"
    Par semassounad dans le forum Symfony
    Réponses: 30
    Dernier message: 18/07/2011, 13h49
  4. Réponses: 3
    Dernier message: 02/11/2008, 19h43
  5. [PostGreSQL] Empêcher l'affichage de message d'erreur
    Par FapInfo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/04/2007, 11h27

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