From: Jeffrey Carter <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: How to get nice with GNAT?
Date: Sun, 23 Nov 2014 10:02:25 -0700
Date: 2014-11-23T10:02:25-07:00 [thread overview]
Message-ID: <m4t3uk$rcc$1@dont-email.me> (raw)
In-Reply-To: <af24bacc-156f-481c-83f8-8ff26aef387f@googlegroups.com>
On 11/23/2014 09:13 AM, brbarkstrom@gmail.com wrote:
>
> That is not correct. I routinely set OK := False; at the beginning
> of the procedure and only set it to True when the procedure has completed
> correctly. The output from the procedure does provide the last value
> of OK before the procedure raises the exception -- if the procedure doesn't
> handle the exception.
This is compiler-dependent behavior. Your code is not portable.
> if (Bad_Condition = True) then
if Bad_Condition then
Comparing Boolean variables to Boolean literals usually indicates someone who
doesn't understand Booleans.
> The code that calls This_Procedure can choose how it wants to handle
> the exception. For example,
>
> ...
> This_Procedure(OK => OK,
> Err_Msg => Err_Msg);
> if not OK then
> Put_Line(Vstring.To_String(Err_Msg));
> -- Take other exception handling steps
> end if;
If the call to This_Procedure raises an exception, execution will not get to the
if statement.
> ...
>
> will print out the error message. I'll grant the programmer may have
> to handle complex chains of exception handling. However, it does work
> and can provide the thread of exceptions for understanding what happened.
>
> Also, this is one strategy for dealing with exceptions in Web interfaces,
> where it's important to avoid a fatal error that shuts down a working
> program that's interacting with users.
>
> I use this approach routinely. It is a big help during debugging. If
> the exception handling is left in, it can also catch problems when the
> debugging has moved along and you've forgotten about it. That saves
> time.
>
> Bruce B.
>
--
Jeff Carter
"This school was here before you came,
and it'll be here before you go."
Horse Feathers
48
next prev parent reply other threads:[~2014-11-23 17:02 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-21 11:41 How to get nice with GNAT? Natasha Kerensikova
2014-11-21 12:42 ` Björn Lundin
2014-11-21 22:55 ` Randy Brukardt
2014-11-21 23:13 ` Björn Lundin
2014-11-22 9:45 ` How to get nice traceback " Natasha Kerensikova
2014-11-22 9:57 ` Dmitry A. Kazakov
2014-11-24 22:35 ` Randy Brukardt
2014-11-22 10:11 ` How to get nice " gautier_niouzes
2014-11-22 10:40 ` Natasha Kerensikova
2014-11-22 22:44 ` brbarkstrom
2014-11-22 23:24 ` Jeffrey Carter
2014-11-23 18:06 ` Björn Lundin
2014-11-23 16:13 ` brbarkstrom
2014-11-23 16:18 ` J-P. Rosen
2014-11-23 17:02 ` Jeffrey Carter [this message]
2014-11-23 17:41 ` brbarkstrom
2014-11-23 19:22 ` Simon Wright
2014-11-23 20:49 ` Jeffrey Carter
2014-11-24 3:05 ` brbarkstrom
2014-11-24 6:25 ` Jeffrey Carter
2014-11-24 14:39 ` brbarkstrom
2014-11-24 17:42 ` Dennis Lee Bieber
2014-11-25 13:45 ` brbarkstrom
2014-11-25 15:07 ` ake.ragnar.dahlgren
2014-11-25 15:51 ` brbarkstrom
2014-11-25 16:52 ` Jeffrey Carter
2014-11-25 19:18 ` G.B.
2014-11-25 20:47 ` brbarkstrom
2014-11-25 22:12 ` Randy Brukardt
2014-11-25 23:30 ` Simon Wright
2014-11-26 1:25 ` G.B.
2014-11-26 7:35 ` Simon Wright
2014-11-26 11:55 ` Georg Bauhaus
2014-11-26 13:06 ` Dmitry A. Kazakov
2014-11-26 13:36 ` brbarkstrom
2014-11-26 21:27 ` Randy Brukardt
2014-11-26 22:38 ` brbarkstrom
2014-11-27 9:01 ` Dmitry A. Kazakov
2014-11-27 13:53 ` brbarkstrom
2014-11-27 17:19 ` Dmitry A. Kazakov
2014-12-01 22:25 ` Randy Brukardt
2014-12-02 8:42 ` Dmitry A. Kazakov
2014-12-03 21:41 ` Randy Brukardt
2014-12-06 12:02 ` Dmitry A. Kazakov
2014-12-08 22:45 ` Randy Brukardt
2014-12-09 8:51 ` Dmitry A. Kazakov
2014-12-09 23:14 ` Brad Moore
2014-12-09 17:59 ` Dmitry A. Kazakov
2014-11-27 8:52 ` Dmitry A. Kazakov
2014-11-26 6:18 ` J-P. Rosen
2014-11-26 7:37 ` Simon Wright
2014-11-26 8:41 ` Dmitry A. Kazakov
2014-11-25 18:33 ` Dennis Lee Bieber
2014-11-26 1:27 ` Dennis Lee Bieber
2014-11-26 3:29 ` brbarkstrom
2014-11-23 18:55 ` brbarkstrom
2014-11-23 19:30 ` brbarkstrom
2014-11-23 22:38 ` Simon Wright
2014-11-24 2:47 ` brbarkstrom
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox