From: gautier_niouzes@hotmail.com (Gautier)
Subject: Re: advantages or disadvantages of ADA over pascal or modula
Date: 8 Jan 2003 09:25:24 -0800
Date: 2003-01-08T17:25:24+00:00 [thread overview]
Message-ID: <17cd177c.0301080925.6c30b58d@posting.google.com> (raw)
In-Reply-To: endte-t51.ln1@martinkl.dialup.fu-berlin.de
Martin Klaiber:
> Will this really work like that? Calendar.Month must not be set to 1
> if IncYear fails. Does this mean, if exception Year_out_of_range is
> raised, the rest of the code in IncMonth will be skipped?
It will. Nothing is worth a little test:
--8<-----8<-----8<-----8<-----8<-----8<-----8<---
with Ada.Text_IO; use Ada.Text_IO;
procedure test_exception is
subtype type_Month is Natural;
subtype type_Year is Natural;
type type_Calendar is tagged record
Month : type_Month;
Year : type_Year;
end record;
Year_out_of_range: exception;
procedure IncYear (Calendar : in out type_Calendar) is
begin
if Calendar.Year < 3000 then
Calendar.Year := Calendar.Year + 1;
else
raise Year_out_of_range;
end if;
end IncYear;
procedure IncMonth (Calendar : in out type_Calendar) is
begin
if Calendar.Month = 12 then
IncYear (Calendar);
Put_Line("[ Trace point 1 ]");
Calendar.Month := 1;
else
Calendar.Month := Calendar.Month + 1;
Put_Line("[ Trace point 2 ]");
end if;
end IncMonth;
procedure Test( c: type_Calendar ) is
cobbaye: type_Calendar:= c;
begin
IncMonth( cobbaye );
exception
when Year_out_of_range => Put("Kaboom - too far in the future");
end;
begin
Test((12,2000));
Test((11,3000));
Test((12,3000));
end;
--8<-----8<-----8<-----8<-----8<-----8<-----8<---
Output is as expected
[ Trace point 1 ]
[ Trace point 2 ]
Kaboom - too far in the future
________________________________________________________
Gautier -- http://www.mysunrise.ch/users/gdm/gsoft.htm
NB: For a direct answer, e-mail address on the Web site!
next prev parent reply other threads:[~2003-01-08 17:25 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-03 15:57 advantages or disadvantages of ADA over pascal or modula karl bowl
2003-01-04 2:36 ` Adrian Knoth
2003-01-04 23:12 ` Robert C. Leif
2003-01-05 2:56 ` Ted Dennison
2003-01-05 3:54 ` John R. Strohm
2003-01-06 5:55 ` AG
2003-01-05 9:38 ` John R. Strohm
2003-01-06 1:37 ` advantages or disadvantages of ADA over pascal or modula or oberon was " Robert C. Leif
2003-01-04 2:56 ` Steve
2003-01-04 11:34 ` Dmitry A. Kazakov
2003-01-04 17:35 ` Steve
2003-01-04 22:16 ` Vinzent Hoefler
2003-01-05 14:12 ` Dmitry A. Kazakov
2003-01-04 12:17 ` Gautier
2003-01-04 17:12 ` Alfred Hilscher
2003-01-04 18:16 ` Ted Dennison
2003-01-05 11:47 ` karl bowl
2003-01-05 18:53 ` Alfred Hilscher
2003-01-05 20:38 ` Vinzent Hoefler
2003-01-05 21:03 ` Alfred Hilscher
2003-01-05 21:20 ` Vinzent Hoefler
2003-01-05 21:31 ` Alfred Hilscher
2003-01-05 21:47 ` Vinzent Hoefler
2003-01-06 14:43 ` Gautier
2003-01-06 16:21 ` Alfred Hilscher
2003-01-05 22:57 ` Vinzent Hoefler
2003-01-06 21:57 ` karl bowl
2003-01-18 14:14 ` Alfred Hilscher
2003-01-18 15:26 ` Larry Kilgallen
2003-01-19 18:10 ` Alfred Hilscher
2003-01-19 23:42 ` Larry Kilgallen
2003-01-21 19:16 ` Robert A Duff
2003-01-18 21:39 ` John R. Strohm
2003-01-18 21:56 ` Vinzent Hoefler
2003-01-18 23:08 ` Larry Kilgallen
2003-01-18 23:16 ` John R. Strohm
2003-01-19 3:36 ` Hyman Rosen
2003-01-19 4:47 ` Vinzent Hoefler
2003-01-19 5:47 ` John R. Strohm
2003-01-19 5:50 ` Steve
2003-01-19 4:47 ` Vinzent Hoefler
2003-01-19 5:51 ` John R. Strohm
2003-01-19 12:51 ` Dmitry A. Kazakov
2003-01-19 16:43 ` Marin David Condic
2003-01-19 23:26 ` John R. Strohm
2003-01-21 13:45 ` Marin David Condic
2003-01-19 6:10 ` Kevin Cline
2003-01-19 18:03 ` Bernd Specht
2003-01-19 16:31 ` Marin David Condic
2003-01-19 12:17 ` Engineers Pay Alan and Carmel Brain
2003-01-21 7:12 ` Kevin Cline
2003-01-21 9:14 ` John R. Strohm
[not found] ` <hub1g-vu3.ln1@beastie.ix.netcom.com>
2003-01-22 4:11 ` John R. Strohm
2003-01-22 17:56 ` John R. Strohm
2003-01-19 16:19 ` advantages or disadvantages of ADA over pascal or modula Marin David Condic
2003-01-19 19:08 ` Robert C. Leif
2003-01-19 20:26 ` Dale Stanbrough
2003-01-20 8:22 ` Tor Fredrik Aas
2003-01-21 14:00 ` Marin David Condic
2003-01-19 18:22 ` Alfred Hilscher
2003-01-20 10:35 ` Georg Bauhaus
2003-01-20 21:12 ` John R. Strohm
2003-01-20 15:56 ` karl bowl
2003-01-20 17:39 ` Jerry Petrey
2003-01-20 22:47 ` Alfred Hilscher
2003-01-21 14:55 ` Stephen Leake
2003-01-21 21:55 ` Alfred Hilscher
2003-01-23 17:06 ` Stephen Leake
2003-01-27 4:25 ` AG
2003-01-26 17:11 ` Alfred Hilscher
2003-01-21 17:23 ` karl bowl
2003-01-21 21:47 ` Alfred Hilscher
2003-01-05 12:42 ` Gautier
2003-01-05 18:58 ` Alfred Hilscher
2003-01-05 22:28 ` tmoran
2003-01-06 20:33 ` Randy Brukardt
2003-01-07 14:47 ` Alfred Hilscher
2003-01-07 18:56 ` Randy Brukardt
2003-01-08 9:43 ` Alfred Hilscher
[not found] ` <mji5va.994.ln@beastie.ix.netcom.com>
2003-01-04 22:16 ` Vinzent Hoefler
2003-01-07 18:14 ` Martin Klaiber
2003-01-08 9:01 ` Gautier
2003-01-08 11:13 ` Martin Klaiber
2003-01-08 17:25 ` Gautier [this message]
2003-01-08 17:52 ` Martin Klaiber
2003-01-10 3:07 ` Richard Riehle
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox