Je lis une entrée à partir du clavier. L'entrée est censée correspondre à l'un des éléments définis dans un type d'énumération. Voici un exemple du type ENUM:Ada: Comment vérifier si l'entrée est un type d'énumération
type NameType is (Bob, Jamie, Steve);
Si je reçois une entrée qui ne sont pas l'un de ces trois, ada déclenche une exception IO. Comment puis-je gérer cela à l'endroit où je peux simplement afficher un message "réessayer" et ne pas arrêter le programme? MERCI
Vous vous seriez sérieusement trompé pour essayer ceci. En tout cas, quelle serait la "valeur" en premier lieu? un nombre entier; un string? Je vous suggère de l'essayer vous-même! –
C'est généralement ainsi que je lis des données arbitraires d'une carte série. Puis la conversion non cochée du tampon à une structure typée. Ensuite, vérifiez chaque élément de la structure avec 'valide. S'il y a un meilleur moyen, pourriez-vous nous éclairer? Je vois la réponse ci-dessus qui s'appuie sur les exceptions comme un acte normal d'entrée de programme. Cela semble imprudent. – Derek
Les deux solutions ont des défauts. Si un nombre est essayé avec le premier exemple, le programme continuera à sortir le texte de l'exception, pour toujours. L'exemple que je donne jettera une exception si une entrée non numérique est présentée. – Derek