comp.lang.ada
 help / color / mirror / Atom feed
From: "chris.danx" <chris.danx@ntlworld.com>
Subject: Re: Whether to raise exception or End_of_List function
Date: Wed, 21 Nov 2001 17:04:38 -0000
Date: 2001-11-21T17:04:38+00:00	[thread overview]
Message-ID: <68RK7.3295$AQ3.467408@news6-win.server.ntlworld.com> (raw)
In-Reply-To: slrn9vnh96.55u.randhol+abuse@kiuk0156.chembio.ntnu.no


"Preben Randhol" <randhol+abuse@pvv.org> wrote in message
news:slrn9vnh96.55u.randhol+abuse@kiuk0156.chembio.ntnu.no...
> Hi
>
> I have made a simple double linked list that I use in the application I
> develop. Before somebody suggest I use some other libraries I want to
> say that I made this double linked list to learn Ada 95 and get aware of
> different problems/aspects of implementing this, so at least for this
> application I want to keep it for now.
>
> The list code can be viewed here: http://www.pvv.org/~randhol/Ada95/List/
> Note that the code is still rough, I haven't removed some debugging
> functions/procedures etc...
>
> I put this into a package:
>
>    package Examine_List is
>          new Double_Linked_List (Data_Type => Natural);
>
>    Main_Examine : Examine_List.List_Type := Examine_List.New_List;
>
> And use the Main_Examine. So far it has worked nicely, but now I came to
> that at one place (at least) in my application I have to go from the
> current position of the iterator until the end of the list. I cannot
> know the current position of the list iterator so I cannot use a
> for-loop. If I want to use a while loop however there are the problem of
> knowing when the end of the list is reached. I guess I can make a
> function End_of_List (which must also work if one try to backwards in
> the list) or I can just raise an exception when the user tries to
> step off the list.
>
> My question is which is the better solution; Exception or a End_of_List
> function and which would have fewer side effects?

Have both!  i.e. an End_Of_List function for when you need to know when
you've reached the end of a list, and an exception for when you fall of the
list and attempt to use it.

I have a similar problem with a recent assignment, and I found both to be
helpful (exceptions are for getting the bugs out, and knowing where they are
(although not all bugs are detectable by exceptions)).  An exception will be
generated anyway if your iterator attempts to use a null valued access type
(assuming that's how the implementation works), but you may want your own
exception -- it can be helpful sometimes.



Chris




  parent reply	other threads:[~2001-11-21 17:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-21 15:17 Whether to raise exception or End_of_List function Preben Randhol
2001-11-21 16:32 ` Preben Randhol
2001-11-21 16:51 ` Mark Biggar
2001-11-21 17:00   ` Preben Randhol
2001-11-21 17:01 ` Larry Kilgallen
2001-11-21 17:03   ` Preben Randhol
2001-11-21 19:34   ` Ed Falis
2001-11-21 17:04 ` chris.danx [this message]
2001-11-21 17:09   ` chris.danx
2001-11-21 22:00   ` Larry Kilgallen
2001-11-21 17:11 ` Jeffrey Carter
2001-11-21 17:53 ` Stephen Leake
2001-11-21 18:51   ` Preben Randhol
2001-11-22  3:53     ` Nick Roberts
2001-11-22 10:23       ` Preben Randhol
2001-11-23 14:37       ` Preben Randhol
replies disabled

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