d-b*_*d-b 0 java eclipse dead-code compiler-warnings suppress-warnings
使用这个(简化的)代码示例Eclipse(Kepler SR2)为最内层的if语句(if (con != null))
,死代码发出警告.
public class DbManager {
public String getSingleString(String query) throws SQLException {
DbManager dbmgr = new DbManager();
Connection con = null;
try {
con = dbmgr.getConnection("user", "pwd", URL);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
if (con != null) {
PreparedStatement pstmt = null;
ResultSet rset = null;
pstmt = con.prepareStatement(query.toString());
rset = pstmt.executeQuery();
if (rset != null && rset.next()) {
return (rset.getString(1));
}
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
通常,在try之后在行上定义的数据库连接将创建连接,然后违规的if语句将为true.有关死代码的警告是否真的正确?
ovd*_*srn 12
如果dbmgr.getConnection("user", "pwd", URL);
返回异常,则con
永远不会为其分配非空引用.
你初始化con
为null.因此,当抛出异常并且您的代码将到达catch时,con
将为null.这就是检查(con != null)
没有意义的原因.
归档时间: |
|
查看次数: |
205 次 |
最近记录: |