Вопрос об исключениях

Я просто играл с исключениями в визуальной студии и с приведенным выше кодом, я ожидал, что, поскольку в спецификации исключений ничего не сказано, должно быть сгенерировано bad_exception. Но на самом деле происходит исключение, которое перехватывается соответствующим обработчиком. Почему так? Я пропускаю некоторые настройки или что-то в IDE?

В то время как я застрял в вышеупомянутом, На самом деле я пытался найти ответ на вопрос: если у меня есть пустая спецификация исключения, что тогда вызывается?неожиданное () метод или* Bad_exception * будут брошены и если оба в каком порядке? Вот код

 #include "stdafx.h"  
 #include <stdio.h>  
 #include <exception>  
 #include <iostream>  


using namespace std;

class A
{
    public:
        int i;
};

void myunexpected () 
{
    cerr << "unexpected called\n";
}

void doSomething(void) throw();
void doSomething(void) throw()
{
    A obj;
    obj.i= 100;
    throw obj;
}


int _tmain(int argc, _TCHAR* argv[])
{
    set_unexpected (myunexpected);
    try 
    {
        doSomething();
    }
    catch (bad_exception be) 
    {
        puts("Caught something");
    }
    catch (A &obj) 
    {
        puts("Caught Integer");
    }
    return 0;
}

Ответы на вопрос(2)

Ваш ответ на вопрос