Puzzle #9 (based on C++17)
constexpr int foo(int value)
{
    return value < 13 ? value * 2
                      : throw 0;
}

int main()
{
    try
    {
        constexpr auto v = foo(10);
        return v;   
    }
    catch(int val)
    {
        return val;
    }
}
With given code, pick one answer:
Guaranteed to return 0 from main
Guaranteed to return 20 from main
Guaranteed to return something other from main
Undefined behaviour
Implementation defined
Will not compile