问题描述
using (var cnn = getConnection()) {
try {
cnn.Open()
....
}
catch(exception e) {
log(e.message);
throw(e);
}
}
Fortify声称上述代码由于重新抛出异常而不会释放连接。我读到的有关using块的所有内容都表明该代码将命中using块所生成的idisposable调用。
解决方法
我发现,如果在try catch中移动using块,则Fortify不会将其视为资源释放数据库问题。