#include <iostream>

struct A
{
    A(int){throw 1;}
};

void f(A)
try
{
}
catch (...)
{
    std::cout << "exception caught" << std::endl;
}

int main()
{
    try
    {  
        f(1);
    }
    catch (...)
    {  
        std::cout << "this shouldn't occur" << std::endl;
    }
}
