C28105
Ostrzeżenie C28105: wyciek zasobów z powodu wyjątku
Określony zasób nie był zwolniony, gdy zgłoszony został wyjątek.Instrukcja określona w ścieżce mogła zgłosić wyjątek.Ostrzeżenie to jest podobne do ostrzeżenia C28103, z wyjątkiem tego, że w tym przypadku uwzględniony jest wyjątek.
Przykład
Poniższy kod przykładowy generuje to ostrzeżenie:
res = KeSaveFloatingPointState(buffer);
res = AllocateResource(Resource);
char *p2 = new char[10]; // could throw
delete[] p2;
FreeResource(Resource)
Poniższy kod przykładowy pozwala uniknąć tego ostrzeżenia:
res = AllocateResource(Resource);
char *p2;
try {
p2 = new char[10];
} catch (std::bad_alloc *e) {
// just handle the throw
;
}
FreeResource(Resource)