C28105
Avertissement C28105 : Ressource disjointe en raison d'une exception
La ressource spécifiée n'est pas libérée lorsqu'une exception est levée.L'instruction spécifiée par le chemin d'accès peut lever une exception.Cet avertissement est semblable à l'avertissement C28103, sauf que dans ce cas une exception est sous-entendue.
Exemple
L'exemple de code suivant génère cet avertissement :
res = KeSaveFloatingPointState(buffer);
res = AllocateResource(Resource);
char *p2 = new char[10]; // could throw
delete[] p2;
FreeResource(Resource)
L'exemple de code suivant permet d'éviter cet avertissement :
res = AllocateResource(Resource);
char *p2;
try {
p2 = new char[10];
} catch (std::bad_alloc *e) {
// just handle the throw
;
}
FreeResource(Resource)