Topic: Defect Report: clause 18.6.2.4 paragraph 2 seems contradicting with clause 15.5.2 paragraph 1


Author: "Sysoltsev, Vyatcheslav" <vyatcheslav.sysoltsev@intel.com>
Date: Mon, 29 Sep 2003 14:49:45 +0000 (UTC)
Raw View
Clause 15.5.2 paragraph 1 says that "void unexpected(); is called (18.6.2) immediately after completing the stack unwinding for the former function", but 18.6.2.4 (Effects) says that  "void unexpected(); . . . Calls the unexpected_handler function in effect immediately after evaluating the throwexpression (18.6.2.2),". Isn't here a contradiction: 15.5.2 requires stack have been unwound when in void unexpected() and therefore in unexpected_handler but 18.6.2.4 claims that unexpected_handler is called "in ef
fect immediately" after evaluation of throw expression is finished, so there is no space left for stack to be unwound therefore?
I think the phrase  "in effect immediately" should be removed from the standard because it brings ambiguity in understanding.
 --Sysoltsev Vyatcheslav



[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]