Groups | Search | Server Info | Login | Register


Groups > comp.lang.ada > #49789

Re: Code flow control

From "J-P. Rosen" <rosen@adalog.fr>
Newsgroups comp.lang.ada
Subject Re: Code flow control
Date 2021-10-15 19:48 +0200
Organization Adalog
Message-ID <skcesm$sgf$1@dont-email.me> (permalink)
References <c2f132ab-dca4-4400-a913-12616c0d8489n@googlegroups.com>

Show all headers | View raw


Le 15/10/2021 à 17:08, Kevin Chadwick a écrit :
> Although surprised that pragma No_Exception_Propagation seems to
> prevent access to some exception information. I am happy with Adas
> exception mechanism. I have read that exceptions should not be used
> for code flow.
Some people reserve exceptions for signalling errors. I regard them as a 
way to handle "exceptional" situations, i.e. when the normal flow of 
control cannot continue. For example, in a deep recursive search, they 
are handy to stop the recursion and go back to top level when you have 
found what you were looking for. Some would disagree with that.

> For Ada after perusing various threads on this mailing list around
> best practice I am considering using exceptions locally but also have
> an in out variable for code flow control at the point of use. Is that
> the way with the caveat that it all depends on the task at hand?
I definitely would prefer an exception, on the ground that you can omit 
the check, but you cannot ignore an exception.

> In Go with vscode a static checker will warn if an error type
> variable is returned without a following if error utilisation (check
> usually of the form if err /= nil).
> 
> I have read that Spark has some kind of static analysis to achieve
> similar as it forbids exceptions.
> 
> It is not the end of the world but is there any static analyser that
> could do similar for Ada. IOW save me some time or perhaps worse
> whenever I have simply omitted the check by accident, in haste or
> distraction.
An interesting idea for AdaControl, especially if you have some funding 
for it ;-)

-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52
https://www.adalog.fr

Back to comp.lang.ada | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Code flow control Kevin Chadwick <kevc3no4@gmail.com> - 2021-10-15 08:08 -0700
  Re: Code flow control "J-P. Rosen" <rosen@adalog.fr> - 2021-10-15 19:48 +0200
    Re: Code flow control "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-15 20:03 +0200
      Re: Code flow control Kevin Chadwick <kevc3no4@gmail.com> - 2021-10-15 12:19 -0700
      Re: Code flow control "G.B." <bauhaus@notmyhomepage.invalid> - 2021-10-15 22:02 +0200
        Re: Code flow control Kevin Chadwick <kevc3no4@gmail.com> - 2021-10-15 14:30 -0700
          Re: Code flow control "Randy Brukardt" <randy@rrsoftware.com> - 2021-10-15 17:51 -0500
        Re: Code flow control "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2021-10-16 09:50 +0200
          Re: Code flow control Kevin Chadwick <m8il1ists@gmail.com> - 2021-10-16 06:26 -0700
            Re: Code flow control Kevin Chadwick <kevc3no4@gmail.com> - 2021-11-26 05:44 -0800
  Re: Code flow control "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org> - 2021-10-15 19:53 +0200
  Re: Code flow control Roger Mc <rogermcm2@gmail.com> - 2021-10-15 16:30 -0700

csiph-web