Originally posted by: SystemAdmin
Hi,
we have a piece of code structured like this
int func( void )
{
M *pMsg;
try {
try {
pMsg = receiveMsg();
......
}
catch ( const A & ) {
.....
}
catch ( const B & ) {
......
}
delete pMsg;
}
catch ( const time_out & ) {
// handle timeout here
}
}
Is it according to the standard correct behaviour that the stack
doesn't get unwound correcty when a time_out exception is thrown in
receiveMsg() ?
this code works just fine on AIX 4.3.3 with VA5, windows with
VisualStudio 2003 and Solaris 10 with Sun Studio 10.
On AIX 5.2 with VisualAge 6 this gives us grief.
If I move the inner try block to a sub-function everything is just fine.
Catching and rethrowing the exceptions otoh still gives a stack overflow.
Any takers for this problem ?
Remko
#AIX-Forum