Visual Studio 2015; Язык С++.
Я помню, что я где-то читал о точке входа (т.е. метод main
), что можно написать:
#include <iostream>
using namespace std;
int main()
try{
return 0; // I am here...
}
catch (...){
cout << "I am 'catch'..." << endl; // This row wasn't called!
return 1; // Oops... But the next `F10` key pressing jumps from the "try"
// block into this row!
}
т.е. в этом случае блок try\catch
находится не в скобках:
int main() { // start bracket
try{
return 0;
}
catch (...){
return 1;
}
} // end bracket
Оба случая скомпилированы и работают тоже, но... В первом варианте, когда я шаг за шагом нажимаю клавишу F10
после блока try
, я также попадаю в блок catch
. Для второго варианта кода у меня нет такого поведения.
Почему это происходит?