If you want to simulate exception specification, you can write something like:
void myfunction() throw(int)
try
{
}
catch(int)
{
throw;
}
catch(...)
{
try
{
unexpected();
}
catch(int)
{
}
catch(...)
{
if ()
throw std::bad_exception();
else
terminate();
}
}
This would be very similar to what would happen on a conforming compiler...
You can see that for specification with multiple types, the code can rapidly become complex. A compiler might implement that in a more optimal fashion but it does give an idea of what happen under the hood.