C28105
Advertencia C28105: Recurso con pérdidas debido a una excepción
No se libera el recurso especificado cuando se produce una excepción.La instrucción especificada en la ruta de acceso puede provocar una excepción.Esta advertencia es similar a C28103, salvo que en este caso una excepción está implicada.
Ejemplo
El siguiente ejemplo de código genera la advertencia:
res = KeSaveFloatingPointState(buffer);
res = AllocateResource(Resource);
char *p2 = new char[10]; // could throw
delete[] p2;
FreeResource(Resource)
El siguiente ejemplo de código evita la advertencia:
res = AllocateResource(Resource);
char *p2;
try {
p2 = new char[10];
} catch (std::bad_alloc *e) {
// just handle the throw
;
}
FreeResource(Resource)