C28105C28105

предупреждение C28105: утечка ресурса из-за исключенияwarning C28105: Leaking resource due to an exception

Указанный ресурс не освобождается при возникновении исключения.The specified resource is not freed when an exception is raised. Инструкция, указанная путем, может вызвать исключение.The statement specified by the path can raise an exception. Это предупреждение аналогично предупреждению C28103, за исключением того, что в данном случае используется исключение.This warning is similar to warning C28103, except that in this case an exception is involved.

ПримерExample

Следующий пример кода вызывает появление этого предупреждения.The following code example generates this warning:

res = KeSaveFloatingPointState(buffer);

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

delete[] p2;
FreeResource(Resource)

Следующий пример кода позволяет избежать появления этого предупреждения.The following code example avoids this warning:

res = AllocateResource(Resource);
char *p2;

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