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)