Condividi tramite


Avviso C28105

Perdita di risorse a causa di un'eccezione

La risorsa specificata non viene liberata quando viene generata un'eccezione. L'istruzione specificata dal percorso può generare un'eccezione. Questo avviso è simile all'avviso C28103, ad eccezione del fatto che in questo caso viene coinvolta un'eccezione.

Esempio

Nell'esempio riportato di seguito il codice genera questo avviso:

res = KeSaveFloatingPointState(buffer);

res = AllocateResource(Resource);
char *p2 = new char[10]; // could throw

delete[] p2;
FreeResource(Resource)

Nell'esempio riportato di seguito il codice evita questo avviso:

res = AllocateResource(Resource);
char *p2;

try {
    p2 = new char[10];
} catch (std::bad_alloc *e) {
    // just handle the throw
    ;
}
FreeResource(Resource)