comp.lang.ada
 help / color / mirror / Atom feed
From: rodemann@mathematik.uni-ulm.de (Joerg Rodemann)
Subject: Re: Exception problem
Date: 1997/02/19
Date: 1997-02-19T00:00:00+00:00	[thread overview]
Message-ID: <5eea29$j0f@arktur.rz.uni-ulm.de> (raw)
In-Reply-To: 330A0D25.313@fs2.assist.uci.edu


Larry Coon (larry@fs2.assist.uci.edu) wrote:
>       begin
>          Put ("Enter a positive number: ");
>          Get (X);
>          exit; -- No exception, so input was valid.
>       exception
>          when Constraint_Error =>
>             Put_Line ("Entry must be positive.  Try again.");
>          when Data_Error =>
>             Put_Line ("Entry must be a number.  Try again.");
>       end;

> This code handles non-positive numeric input (eg: 0 or -3) correctly.  
> But when I give it non-numeric input (eg: C), it displays the "Entry 
> must be a number.  Try again" message repeatedly and never stops for 
> input again.

It seems to me your problem is that Get checks for validity of the data by 
raises the Data_Error exception already before any characters are removed 
from the input buffer. Therefore the token leading to Data_Error will be 
processed during the next Get in the same way as before. 

Although I do not have the ARM at hand I think a Flush(Standard_Input) might 
solve this situation.

Hope this helps

Greetings

George

--
Joerg 'George' Rodemann                      Erhard-Groezinger-Strasse 82
Department of Physics                                   D-89134 Blaustein
University of Ulm                                      Tel. (0731) 553319
e-mail:                                    rodemann@mathematik.uni-ulm.de




  parent reply	other threads:[~1997-02-19  0:00 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-02-18  0:00 Exception problem Larry Coon
1997-02-18  0:00 ` Michael Feldman
1997-02-19  0:00   ` Larry Coon
1997-02-19  0:00 ` Joerg Rodemann [this message]
1997-02-19  0:00   ` Mats Weber
1997-02-19  0:00 ` David C. Hoos, Sr.
1997-02-19  0:00   ` Robert Dewar
1997-02-19  0:00   ` Larry Coon
1997-02-19  0:00 ` Keith Allan Shillington
1997-02-22  0:00 ` Arthur Evans Jr
1997-02-24  0:00   ` Larry Coon
1997-02-24  0:00     ` Larry Kilgallen
1997-02-24  0:00       ` Larry Coon
1997-02-25  0:00         ` Fergus Henderson
1997-02-25  0:00     ` Do-While Jones
1997-03-09  0:00       ` John Volan
1997-03-09  0:00         ` Robert Dewar
1997-03-12  0:00         ` Keith Thompson
1997-02-25  0:00   ` Robert I. Eachus
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox