If I throw an exception:
throw Cat("Minoo");
Then I catch and rethrow with … at some lower level in the call stack:
catch(...)
{
throw;
}
Then at some other lower level in the call stack I try to catch with:
catch(const Cat& c)
{
//Will it enter here, and if so will c be valid data?
}
catch(...)
{
}
Yes, this is correct. This is addressed in the very next question of the section of the C++ FAQ that I linked you to on your previous question.