ich dieses Stück Code versucht, zu prüfen, ob die Division durch Null Ausnahme abgefangen wird:Fangen Ausnahme im Code
int main(int argc, char* argv[])
{
try
{
//Divide by zero
int k = 0;
int j = 8/k;
}
catch (...)
{
std::cout<<"Caught exception\n";
}
return 0;
}
Wenn ich diese mit VC6 nachgekommen wurde die catch-Handler ausgeführt und der Ausgang war " Ausnahme abgefangen ". Als ich das mit VS2008 kompilierte, stürzte das Programm jedoch ab, ohne den catch-Block auszuführen. Was könnte der Grund für den Unterschied sein?
'TRUE' ist kein gültiger Wert für den Ausnahmefilter. siehe http://msdn.microsoft.com/en-us/library/s58ftw19(VS.80).aspx – shoosh
Es wird implizit auf die gleiche Konstante für 1 umgewandelt und kompiliert und läuft gut. –