harbaughs@eglin-vax (04/16/86)
Text_IO continues to be my Nemesis. In the following code which is
from Booch's book and also is like an example in the LRM (page 14-33) the
following is reported by my students to happen on both the DEC compiler
under VMS and the Alsys compiler (version 1.00) on the IBM PC/AT:
When the person at the keyboard enters a bad data value the program
goes into a non-ending loop as if an input buffer containing the bad
input is read over and over again and not flushed. Inserting a dummy
get_line in the exception handler seems to flush this apparent buffer
and make the program work as desired.
My question is : Is this the way it's supposed to work (endless loop)
or is there a hole in the validation suite or are my students doing something
wrong. Any comments would be appreciated.
--
type RESPONSE is (UP,DOWN,LEFT,RIGHT);
USER_RESPONSE : RESPONSE;
loop
begin
PUT(">");
GET(USER_RESPONSE);
exit;
exception
when DATA_ERROR =>
PUT_LINE("Invalid Response");
end;
end loop;
--
Thanks in advance.
regards, sam harbaugh
---------------------
------Stachour@HI-MULTICS.ARPA ("Paul D. Stachour") (04/17/86)
Sam:
I believe the fragment to be correct Ada. It works on the GCOS6
Honeywell/DDC compiler. ...Paul (Stachour @ HI-Multics)