comp.lang.ada
 help / color / mirror / Atom feed
From: "Jean-Pierre Rosen" <rosen@adalog.fr>
Subject: Re: Mneson announcement and help request
Date: Fri, 4 Jun 2004 09:30:39 +0200
Date: 2004-06-04T09:30:39+02:00	[thread overview]
Message-ID: <2f8p9c.0p5.ln@skymaster> (raw)
In-Reply-To: c9p2sg$7rn$1@hercules.btinternet.com


> "Randy Brukardt" <randy@rrsoftware.com> wrote in message
> news:-NSdneXjh7wndyLdRVn-vw@megapath.net...
> > My point was that as long as you keep the exception handler and raising
> out
> > of the loop (which is certainly true for EOF), it can be quite efficient.
> In
> > the normal case (where you read many characters before reaching the end of
> > the file), it's almost always better to handle the exception. That's
> because
> > one exception raise/handling pair is a lot cheaper than 10,000 function
> > calls, especially one as expensive as EOF.

I always use the exception mechanism for another reason:
In the presence of a "malformed" file (i.e. one where the last line has no line terminator before EOF), you may have an unexpected
End_Error even if End_Of_File was false. Of course, this is outside Ada semantics, but it's the real world that text files are
sometimes being typed by human beings....

So, in short:
1) when you do a Get, it will have to (more or less) check EoF anyway
2) if you check EoF, you must still be prepared to catch End_Error anyway

=> I never check EoF any more.

-- 
---------------------------------------------------------
           J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr





  reply	other threads:[~2004-06-04  7:30 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-01 15:56 Mneson announcement and help request Marius Amado Alves
2004-06-02  2:26 ` Jeff C,
2004-06-02  3:06   ` Marius Amado Alves
2004-06-02 11:19     ` Georg Bauhaus
2004-06-02 11:41       ` Marius Amado Alves
     [not found]         ` <c9l0vo$pq3$1@sparta.btinternet.com>
2004-06-02 17:47           ` Marius Amado Alves
2004-06-02 19:46             ` Martin Dowie
2004-06-02 22:10           ` Randy Brukardt
2004-06-03  5:58             ` Martin Dowie
2004-06-04  3:21               ` Randy Brukardt
2004-06-04  5:55                 ` Martin Dowie
2004-06-04  7:30                   ` Jean-Pierre Rosen [this message]
2004-06-04 14:11                     ` Larry Kilgallen
2004-06-03  4:12           ` Jeffrey Carter
2004-06-03  5:48             ` Martin Dowie
2004-06-03  9:02             ` Martin Krischik
2004-06-02 11:41       ` Georg Bauhaus
2004-06-02 13:14         ` Marius Amado Alves
2004-06-03  4:09         ` Jeffrey Carter
2004-06-03 11:24           ` Georg Bauhaus
2004-06-02  3:21   ` Marius Amado Alves
2004-06-22 20:49     ` Jacob Sparre Andersen
2004-06-23  9:36       ` Marius Amado Alves
replies disabled

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