comp.lang.ada
 help / color / mirror / Atom feed
From: Darren New <dnew@san.rr.com>
Subject: Re: Ada exceptions. unchecked?
Date: Thu, 13 Jun 2002 17:48:17 GMT
Date: 2002-06-13T17:48:17+00:00	[thread overview]
Message-ID: <3D08DAFC.D6BB2ECC@san.rr.com> (raw)
In-Reply-To: 3D08D2AA.1020502@mail.com

Hyman Rosen wrote:
> But why does every intervening function in the
> call tree have to state for the record that it knows that
> something it calls may throw such an exception, if it is
> not the place where the exception is handled?

Because it prevents the programmer from ignoring the problem. Note, I didn't
say it prevents the *program* from ignoring it, but the *programmer*.

That is, with checked exceptions, you can't call malloc() without checking
the result, even if every single time you test the program, you manage to
allocate enough memory. 
In other words, it's much the same way that Java refuses to compile somthing
like

int x;
if (y) {x = 5;}
blah(x); /* because x *might* be uninitialized, even if the programmer
            knows that Y will always be true at this point. */

The problem with checked exceptions is that when you're using a lot of
libraries with callbacks and such, the checked exceptions require you to
handle the exception in the *wrong* place. It's difficult to get around in
any clean way, unlike the uninitialized-variable problem.

-- 
Darren New 
San Diego, CA, USA (PST). Cryptokeys on demand.
** http://home.san.rr.com/dnew/DNResume.html **
** http://images.fbrtech.com/dnew/ **

     My brain needs a "back" button so I can
         remember where I left my coffee mug.



  reply	other threads:[~2002-06-13 17:48 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-12  7:00 Ada exceptions. unchecked? steve_H
2002-06-12 13:52 ` Ted Dennison
2002-06-12 14:09 ` Larry Kilgallen
2002-06-12 13:47   ` Mark Johnson
2002-06-12 15:40     ` Larry Kilgallen
2002-06-12 16:07       ` Darren New
2002-06-12 22:21         ` Dale Stanbrough
2002-06-13 14:36           ` Hyman Rosen
2002-06-13 16:41             ` Darren New
2002-06-13 17:13               ` Hyman Rosen
2002-06-13 17:48                 ` Darren New [this message]
2002-06-13 18:06                   ` Hyman Rosen
2002-06-13 18:37                     ` Darren New
2002-06-13 19:14                       ` Hyman Rosen
2002-07-05 14:35                         ` Stephen J. Bevan
2002-06-12 19:25     ` Simon Wright
2002-06-12 22:19     ` Gisle Sælensminde
2002-06-13 14:27       ` Mark Johnson
2002-06-14 21:32         ` Gisle Sælensminde
2002-06-14 21:45           ` Darren New
2002-06-15 15:10           ` Simon Wright
2002-06-15 21:26             ` AG
2002-06-15 23:37               ` Darren New
2002-06-15 23:50                 ` AG
2002-06-15 23:57                   ` Darren New
2002-06-17 18:21             ` Charles Lindsey
2002-06-18 16:32             ` Stephen Leake
2002-06-18 19:48               ` Wes Groleau
replies disabled

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