Re: A few minor questions
On May 20, 1:12 am, Questioner <questione...@yahoo.com> wrote:
On May 18, 9:26 pm, blargg....@gishpuppy.com (blargg) wrote:
2. What happens when an exception occurs inside an exception?
An exception is an object, not an unit of execution, so this makes no
sense.
Sounds good, I was going to try to code an exception within an
exception but then I tried this in Cygwin:
try {
int *a = 0;
*a = 0;
}
catch ( ... ) {
cout << "uh oh\n";
}
So where's the exception here? There's undefined behavior in
the try block (which from a QoI point of view, should result in
the program crashing), and a catch, but no exception is thrown.
And got:
5 [main] a 2980 _cygtls::handle_exceptions: Error while dumping
state (probably corrupted stack)
Segmentation fault (core dumped)
It's a somewhat strange error message, but undefined behavior
is, well, undefined. (I get "Segmentation Fault (core dumped)"
under both Linux and Solaris, and a pop-up window with an error
message with VC++ under Windows.)
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34