Поделиться через


C28105

предупреждение C28105: Утечка ресурса из-за исключения

Указанный ресурс не освобождается при возникновении исключения.Указанный оператор может вызвать исключение.Это предупреждение схоже с предупреждением C28103, за исключением того, что в этом случае выдается исключение.

Пример

Это предупреждение появляется в следующем примере кода:

res = KeSaveFloatingPointState(buffer);

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

delete[] p2;
FreeResource(Resource)

В следующем примере кода показано, как избежать появления данного предупреждения:

res = AllocateResource(Resource);
char *p2;

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