From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,eee47022b0e39dbb X-Google-Attributes: gid103376,public From: Larry Coon Subject: Re: Exception problem Date: 1997/02/19 Message-ID: <330B2898.4E52@fs2.assist.uci.edu>#1/1 X-Deja-AN: 219868519 References: <330A0D25.313@fs2.assist.uci.edu> <01bc1e5e$a43929a0$148c71a5@dhoossr.iquest.com> Content-Type: text/plain; charset=us-ascii Organization: University of California Mime-Version: 1.0 Reply-To: larry@fs2.assist.uci.edu Newsgroups: comp.lang.ada X-Mailer: Mozilla 3.0 (Win95; I) Date: 1997-02-19T00:00:00+00:00 List-Id: David C. Hoos, Sr. wrote: > > The problem is that when Text_IO.Data_Error is raised in this circumstance, > the pointer in the input stream is backed up to where it was before the > Int_IO.Get was called. Therefore, if you want to skip over this > non-numeric data in the input stream, you should call Text_IO.Skip_Line > just after the line: > Put_Line ("Entry must be a number. Try again."); Thanks. Michael Feldman also pointed this out, and it worked like a charm. > Incidentally, Ada is much more civilized than C++. We don't "throw" > things. Exceptions are simply "raised." And apparently in Ada you're more sure of yourselves, because you don't "try" things either! ;-) > One other point about your code. Instantiations of generics (e.g., > Text_IO.Integer_IO) for commonly used types are better placed at the > Library level, so all parts of your program can use the same instantiation. > Depending on the compiler/binder/linker used, code for multiple identical > instantations may or may not share the code. Oh, it was in the real code, but this was a contrived example to demonstrate the problem. Thanks for your response. Larry Coon University of California larry@fs2.assist.uci.edu