Hallo,
try/catch verhält sich etwas komisch. Mit Codeblocks kompiliert. Bei debug immer Absturz ohne Ausgabe. Bei release wird catch nicht ausgegeben wenn der Fehler eine Division durch 0 ist. Nur per throw klappt es beim release. Wieso klappt es beim debug gar nicht und beim release nur per throw?
Gruß
Bei Debug -> Absturz.
Bei Release -> wird try/catch einfach übersprungen OHNE in catch den Text "Problem erkannt" auszugeben.
Bei Debug -> Absturz.
Bei Release -> funktioniert. Text "Problem erkannt" wird ausgegeben.
try/catch verhält sich etwas komisch. Mit Codeblocks kompiliert. Bei debug immer Absturz ohne Ausgabe. Bei release wird catch nicht ausgegeben wenn der Fehler eine Division durch 0 ist. Nur per throw klappt es beim release. Wieso klappt es beim debug gar nicht und beim release nur per throw?
Gruß
Code:
try
{
double a = 1/0;
}
catch(...)
{
std::cout << "Problem erkannt \n";
}
std::cout << "danach";
Bei Debug -> Absturz.
Bei Release -> wird try/catch einfach übersprungen OHNE in catch den Text "Problem erkannt" auszugeben.
Code:
try
{
throw 0;
}
catch(...)
{
std::cout << "Problem erkannt \n";
}
std::cout << "danach";
Bei Debug -> Absturz.
Bei Release -> funktioniert. Text "Problem erkannt" wird ausgegeben.