Subject: [bug#44321] [PATCH 5/6] transformations: Raise '&formatted-message' exceptions instead of 'leave'.

From: zimoun <[email-masked]>
Date: Mon, 2 Nov 2020 13:25:20 +0100

Hi,

Thanks for the explanation.

On Sat, 31 Oct 2020 at 11:06, Ludovic Courtès <[email-masked]> wrote:

> >> Naive question: what is the difference?  Other said why?  And so why not
> >> replaces ’leave’ here and there by ’raise’+’formatted-message’?
> >
> > Probably Ludo can explain better, but the main difference I see is that
> > leave (guix diagnostics) calls exit, so the client code now can handle
> > these errors and it isn't forced to exit.
>
> Exactly.  In fact, ‘exit’ throws the 'quit exception, which one could
> also catch, but it’s still nicer to throw &message or &formatted-message
> within a module meant to be used as a library.

And so why not replace the 'leave' appearing here and there in the
code by 'raise'+'formatted-message'?

Cheers,
simon