comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: Last chance handler on a PC
Date: Thu, 30 Jan 2020 21:02:17 +0100
Date: 2020-01-30T21:02:17+01:00	[thread overview]
Message-ID: <r0vcob$ddf$1@dont-email.me> (raw)
In-Reply-To: <cf714c35-fdb5-4d9c-bda9-9c0de2df01bd@googlegroups.com>

On 1/30/20 8:35 PM, ahlan@marriott.org wrote:
> 
> To catch unhandled exceptions you only need to write a simple procedure and export it as __gnat_last_chance_handler.
> This is linked into the program in preference to the default last chance handler provided by GNAT.
> This procedure is called if nothing catches a raised exception.
> Including those raised during package elaboration.

Doing

Ada.Task_Termination.Set_Specific_Handler
    (T       => Ada.Task_Identification.Environment_Task,
     Handler => Last_Chance'access);

should do the same thing more portably. It will be called when the environment 
task terminates for any reason; you would only want it to actually do something 
when Cause = Unhandled_Exception.

-- 
Jeff Carter
"My mind is a raging torrent, flooded with rivulets of
thought, cascading into a waterfall of creative alternatives."
Blazing Saddles
89


  reply	other threads:[~2020-01-30 20:02 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-30  8:55 Last chance handler on a PC ahlan
2020-01-30  9:15 ` J-P. Rosen
2020-01-30  9:17 ` Egil H H
2020-01-30 19:27   ` ahlan
2020-01-31  5:53     ` J-P. Rosen
2020-01-31  7:00       ` Jeffrey R. Carter
2020-01-31  8:51         ` J-P. Rosen
2020-01-30  9:25 ` Dmitry A. Kazakov
2020-01-30 19:10 ` Lucretia
2020-01-30 19:35 ` ahlan
2020-01-30 20:02   ` Jeffrey R. Carter [this message]
2020-01-30 20:26     ` Niklas Holsti
2020-01-30 20:51       ` Jeffrey R. Carter
2020-01-30 21:32         ` Niklas Holsti
2020-01-31 11:12       ` Simon Wright
2020-01-31 11:19         ` Simon Wright
2020-01-31 12:30           ` Niklas Holsti
replies disabled

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