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 次 |
| 最近记录: |