Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Inscrit en
    novembre 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 1
    Points : 0
    Points
    0

    Par défaut [ADA][Constraint Error] Constraint Error dû a une init incomplète.

    Bonjour à vous tous,

    mon soucis est le suivant :

    A partir d'un fichier texte, j'initialise un paquet de variable.
    Par exemple dans mon fichier :
    4 7 12 true Circonflexe Alpha_Romeo
    et dans mon code, je viens initialiser les variables avec mon fichier texte.

    nombre_de_doigts := 4
    ...
    voiture := Alpha_Romeo

    Seulement voila, parfois dans mon fichier texte, une variable n'existe pas (pas renseigné) ce qui fait qu'a l'initialisation des variables, j'ai un magnifique constraint error.

    Je voulais savoir, comment esquiver ce mécanisme. car si une variable n'est pas renseigné, ce n'est pas problématique pour mon code.

    Par exemple en levant une exception ( du style raise qqch...) peut t on quand même a executer le code ? (l'équivalent d'un try catch en java)
    Merci beaucoup !

    codialement !

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    juin 2006
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations forums :
    Inscription : juin 2006
    Messages : 919
    Points : 375
    Points
    375

    Par défaut

    Bonjour,

    Bien sûr, on peut mettre l'opération qui initialise la variable dans une section entre begin et end avec un traite exception.

    Mais la variable aura automatiquement une valeur. Donc il faut prévoir une valeur par défaut.



    Code ada :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    procedure main is
      Variable : variable_type := valeur_par_defaut;
    begin
       begin
           Variable := lire_fichier;
       exception
            when constraint_error =>
                null;
       end;
       
    
       -- poursuivre le traitement.
    
    end main;

  3. #3
    Membre régulier
    Profil pro
    Mathématicien
    Inscrit en
    mars 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Mathématicien
    Secteur : Finance

    Informations forums :
    Inscription : mars 2012
    Messages : 69
    Points : 86
    Points
    86

    Par défaut

    Tout est possible. Mais ça dépend de ce que tu veux obtenir.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •