CVS difference for ais/ai-00361.txt

Differences between 1.1 and version 1.2
Log of other versions for file ais/ai-00361.txt

--- ais/ai-00361.txt	2003/11/27 02:01:16	1.1
+++ ais/ai-00361.txt	2004/01/23 04:59:29	1.2
@@ -1,5 +1,10 @@
-!standard  11.3(2)                                     03-11-04  AI95-00361/01
+!standard  11.3(2)                                     04-01-13  AI95-00361/02
+!standard  11.3(3)
+!standard  11.3(4)
+!standard  11.4.1(10)
 !class amendment 03-11-04
+!status Amendment 200Y 04-01-13
+!status ARG Approved 9-0-2  03-12-13
 !status work item 03-11-04
 !status received 03-11-04
 !priority Medium
@@ -16,9 +21,6 @@
 an exception, as the current method of calling Raise_Exception is quite
 cumbersome.
 
-[Author's note: would it be useful to have a simpler syntax for
-Reraise_Occurrence, too?  The difficulty is to come up with a good syntax.]
-
 !proposal
 
 (See wording.)
@@ -33,14 +35,16 @@
 
 Add after 11.3(3):
 
+Name Resolution Rules
+
 The expression, if any, in a raise_statement, is expected to be of type String.
 
 
 Replace the second sentence of 11.3(4) by:
 
 For the execution of a raise_statement with an exception_name, the named
-exception is raised. If a string_expression is present, it is returned by
-Ada.Exceptions.Exception_Message.
+exception is raised. If a string_expression is present, a call of
+Ada.Exceptions.Exception_Message returns that string.
 
 
 Replace the third sentence of 11.4.1(10) by:
@@ -61,7 +65,61 @@
 
 !example
 
---!corrigendum
+!corrigendum 11.3(2)
+
+@drepl
+@xcode<@fa<raise_statement ::= >@ft<@b<raise> >@fa<[>@ft<@i<exception_>>@fa<name];>>
+@dby
+@xcode<@fa<raise_statement ::= >@ft<@b<raise>@fa<; |>
+       @ft<@b<raise> @i<exception_>>@fa<name [>>@ft<@b<with> @i<string_>>@fa<expression];>>
+
+!corrigendum 11.3(3)
+
+@dinsa
+The name, if any, in a @fa<raise_statement> shall denote an exception.
+A @fa<raise_statement> with no @i<exception_>@fa<name> (that is, a @i<re-raise
+statement>) shall be within a handler, but not within a body enclosed by that
+handler.
+@dinst
+@i<@s8<Name Resolution Rules>>
+
+The @fa<expression>, if any, in a @fa<raise_statement>, is expected
+to be of type String.
+
+!corrigendum 11.3(4)
+
+@drepl
+To @i<raise an exception> is to raise a new occurrence of that exception, as
+explained in 11.4. For the execution of a @fa<raise_statement> with an
+@i<exception_>@fa<name>, the named exception is raised. For the execution of
+a re-raise statement, the exception occurrence that caused transfer of control
+to the innermost enclosing handler is raised again.
+@dby
+To @i<raise an exception> is to raise a new occurrence of that exception, as
+explained in 11.4. For the execution of a @fa<raise_statement> with an
+@i<exception_>@fa<name>, the named exception is raised. If a
+@i<string_>@fa<expression> is present, a call of
+Ada.Exceptions.Exception_Message returns that string. For the execution of a
+re-raise statement, the exception occurrence that caused transfer of control to
+the innermost enclosing handler is raised again.
+
+!corrigendum 11.4.1(10)
+
+@drepl
+Raise_Exception raises a new occurrence of the identified exception. In this
+case, Exception_Message returns the Message parameter of Raise_Exception. For
+a @fa<raise_statement> with an @i<exception_>@fa<name>, Exception_Message
+returns implementation-defined information about the exception occurrence.
+Reraise_Occurrence reraises the specified exception occurrence.
+@dby
+Raise_Exception raises a new occurrence of the identified exception. In this
+case, Exception_Message returns the Message parameter of Raise_Exception.
+For a @fa<raise_statement> with an @i<exception_>@fa<name> and a
+@i<string_>@fa<expression>, Exception_Message returns that string. For a
+@fa<raise_statement> with an @i<exception_>@fa<name> but without a
+@i<string_>@fa<expression>, Exception_Message returns
+implementation-defined information about the exception occurrence.
+Reraise_Occurrence reraises the specified exception occurrence.
 
 !ACATS test
 

Questions? Ask the ACAA Technical Agent