此代码是资源发布问题吗? Fortify将其标记为无法释放数据库资源连接

问题描述

using (var cnn = getConnection()) { 

    try {
        cnn.open()
        ....
    }

    catch(exception e) {
       log(e.message);
       throw(e);  
    }

 }

Fortify声称上述代码由于重新抛出异常而不会释放连接。我读到的有关using块的所有内容都表明该代码将命中using块所生成的idisposable调用

解决方法

我发现,如果在try catch中移动using块,则Fortify不会将其视为资源释放数据库问题。