2013-09-30 4 views
2

я писал код для обработки исключений на Visual C++ 2010 .Здесь есть кодКомандный процессор перестал работать

#include <iostream> 
using namespace std; 

// Localize a try/catch to a function. 
void Xhandler(int test) 
{ 
    try{ 
    if(test) throw test; 
    } 
    catch(int i) { 
    cout << "Caught Exception #: " << i << '\n'; 
    } 
} 

int main() 
{ 
    cout << "Start\n"; 

    Xhandler(1); 
    Xhandler(2); 
    Xhandler(0); 
    Xhandler(3); 

    cout << "End"; 

    return 0; 
} 

Программа выполнена правильно, и выход был в expected.But, когда я нажал закрыть кнопка для закрытия консоли, то ошибка пришла, что cmd has stopped working Here is the image

.Затем я побежал мой предыдущий код, который выполняется должным образом, они также дали ту же самую ошибку . Может ли кто-нибудь сказать, почему это происходит? Это проблема с Visual C++ 2010 или кодом

+0

Ваш 'cmd.exe' заражен вирусом: P – P0W

+0

@POW вы серьезно? – Freedom911

+0

С помощью _ «Я выполнил свой предыдущий код, который был выполнен правильно, они также дали ту же ошибку», я могу думать только о поврежденном исполняемом файле. Idk, подождите несколько ответов. – P0W

ответ

3

Я думаю, что ваша проблема не в вашем коде. Проблема заключается в вашей цепочке инструментов компилятора. Вероятно, вы используете Qt, и в цепочке инструментов есть проблема, вызывающая это. Google сообщение, которое вы получаете, когда вы сталкиваетесь с вашей IDE.

Вот простой эксперимент, чтобы доказать, что я говорю: просто запустить этот код:

int main() 
{ 
    cout << "Start\n"; 


    cout << "End"; 

    return 0; 
} 

И программа зависнет, а это значит, у вас нет никаких проблем с исключениями или что-нибудь еще в вашем коде, но с вашей цепью инструментов.

+0

Хотя программа отображает правильный результат и успешно заканчивается, когда нажимает любую клавишу, но когда Я специально нажимаю кнопку «Закрыть», тогда появляется эта ошибка – Freedom911

+1

Я знаю это, и именно поэтому я говорю вам, что ваш код не является проблемой. Проблема заключается в цепочке инструментов вашего компилятора. Убедитесь, что ваш компилятор настроен правильно. Это проблема компилятора, а не проблема с кодом. –

+0

Хорошо, я получил ваше мнение, но почему проблема возникла внезапно. Я не изменил настройки компилятора – Freedom911

Смежные вопросы