411 REFERENCE · Wikibooks
Ada Programming/Libraries/Ada.Exceptions
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Libraries Ada.Exceptions
__TOC__
Ada.Exceptions
Ada Exceptions is a unit of the Predefined Language Environment since Ada 95.
The package Ada Exceptions allows you to analyze exceptions you have caught, to raise exceptions with an associated message or to save exceptions occurrences for later processing.
Usage
The following example shows how to implement a "last resort" error handler which just displays the information related to the error which occurred.
numeric_6.adb
with Ada Exceptions;
procedure Numeric_6 is
package Exept renames Ada.Exceptions;
...
exception
when An_Exception : others =>
T_IO.Put_Line
(Exept.Exception_Information (An_Exception));
end Try;
Specification
Standard Ada library specification
Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com>
Copyright (c) 2004-2016 AXE Consultants
Copyright (c) 2004, 2005, 2006 Ada-Europe
Copyright (c) 2000 The MITRE Corporation, Inc.
Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc.
SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual
-------------------------------------------------------------------------
with Ada Streams;
package Ada Exceptions is
pragma Preelaborate (Exceptions);
type Exception_Id is private;
pragma Preelaborable_Initialization (Exception_Id);
Null_Id : constant Exception_Id;
function Exception_Name (Id : in Exception_Id) return String;
function Wide_Exception_Name (Id : in Exception_Id) return Wide_String;
function Wide_Wide_Exception_Name (Id : in Exception_Id)
return Wide_Wide_String;
type Exception_Occurrence is limited private;
pragma Preelaborable_Initialization (Exception_Occurrence);
type Exception_Occurrence_Access is access all Exception_Occurrence;
Null_Occurrence : constant Exception_Occurrence;
procedure Raise_Exception (E : in Exception_Id;
Message : in String := "");
pragma No_Return (Raise_Exception);
function Exception_Message (X : in Exception_Occurrence) return String;
procedure Reraise_Occurrence (X : in Exception_Occurrence);
function Exception_Identity (X : in Exception_Occurrence)
return Exception_Id;
function Exception_Name (X : in Exception_Occurrence) return String;
Same as Exception_Name(Exception_Identity(X)).
function Wide_Exception_Name (X : in Exception_Occurrence)
return Wide_String;
Same as Wide_Exception_Name(Exception_Identity(X)).
function Wide_Wide_Exception_Name (X : in Exception_Occurrence)
return Wide_Wide_String;
Same as Wide_Wide_Exception_Name(Exception_Identity(X)).
function Exception_Information (X : in Exception_Occurrence) return String;
procedure Save_Occurrence (Target : out Exception_Occurrence;
Source : in Exception_Occurrence);
function Save_Occurrence (Source : in Exception_Occurrence)
return Exception_Occurrence_Access;
procedure Read_Exception_Occurrence
(Stream : not null access Adadot .Streamsdot .Root_Stream_Type'Class;
Item : out Exception_Occurrence);
procedure Write_Exception_Occurrence
(Stream : not null access Adadot .Streamsdot .Root_Stream_Type'Class;
Item : in Exception_Occurrence);
for Exception_Occurrence'Read use Read_Exception_Occurrence;
for Exception_Occurrence'Write use Write_Exception_Occurrence;
private
pragma Import (Ada, Exception_Id);
pragma Import (Ada, Exception_Occurrence);
pragma Import (Ada, Null_Id);
pragma Import (Ada, Null_Occurrence);
end Adadot .Exceptions;
See also
Wikibook
Ada Programming/Libraries/Ada
Ada Programming/Strings
Ada Reference Manual
Ada 95
11 4 1 The Package Exceptions
Ada 2005
11 4 1 The Package Exceptions
Ada 2012
11 4 1 The Package Exceptions
Open-Source Implementations
a-except.ads a-except.adb
a-except.ads a-except.adb