Je vois que catch (…) n’attrape pas toutes les exceptions et une pop agaçante est lancée sur l’utilisateur final.
size_t pos; char *ptrDir="c:\\test"; std::ssortingng strDir = strDir.erase(strlen(ptrDir) - 1); pos = strDir.find("Test"); try { std::ssortingng strPat = strDir.substr(pos); } catch(...) { std::cout<<"I am hiding Exception"; }
J’utilise Visual Studio 2005, Windows XP.
Remarque: le code est intentionnel pour générer des exceptions. C’est un code de test
Votre code générera probablement des violations d’access qui, dans VC ++, ne seront pas des exceptions standard. Elles font partie des exceptions structurées, que vous pouvez également intercepter mais nécessitera un mécanisme différent:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms680657(v=vs.85).aspx
Gestion des exceptions structurées