Eclipse在以下代码中给我该警告:
public int getTicket(int lotteryId, String player) {
try {
c = DriverManager.getConnection("jdbc:mysql://" + this.hostname + ":" + this.port + "/" + this.database, this.user, this.password);
int ticketNumber;
PreparedStatement p = c.prepareStatement(
"SELECT max(num_ticket) " +
"FROM loteria_tickets " +
"WHERE id_loteria = ?"
);
p.setInt(1, lotteryId);
ResultSet rs = p.executeQuery();
if (rs.next()) {
ticketNumber = rs.getInt(1);
} else {
ticketNumber = -1;
}
ticketNumber++;
p = c.prepareStatement(
"INSERT INTO loteria_tickets " +
"VALUES (?,?,?,?)");
p.setInt(1, lotteryId);
p.setInt(2, ticketNumber);
p.setString(3, player);
p.setDate(4, new java.sql.Date((new java.util.Date()).getTime()));
p.executeUpdate();
return ticketNumber;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (c != null) {
try {
c.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return -1;
}
}
我的代码有什么问题?
从中删除return语句。最终块被认为是清除块,通常不希望在其中返回。
问题内容: 我已经下载,解压缩并使用一些插件(值得注意的,EPIC,Clearcase,QuantumDB,MisterQ)设置了Eclipse 3.4.2。 现在,我在编辑Java项目时发现代码完成无法正常工作。如果我键入并按,则弹出窗口将显示“无默认提案”,底部的状态栏将显示“无可用完成”。 问题答案: 尝试还原 中的默认选项 你在此首选项屏幕中看到的数据类型的示例,但是不一定是你当前拥有的数
问题内容: 我从我的ant脚本中调用javac,如下所示: 但是它仍然在输出中引发编译器警告: 我也试过 和 但这也不起作用。如何删除警告? 问题答案: 将选项添加到命令行对我有用。
问题内容: 我想在finally块中关闭流,但是它抛出一个,因此看来我必须在块中嵌套另一个块才能关闭流。这是正确的方法吗?似乎有点笨拙。 这是代码: 问题答案: 似乎有点笨拙。 它是。至少java7尝试使用资源可以解决该问题。 在java7之前,您可以创建一个吞咽它的函数: 或将try …最终放入try catch中: 它比较冗长,并且finally中的异常会在try中隐藏一个,但从语义上讲它更接
问题内容: 下面是有趣的代码: 可以请人解释一下,什么结果将返回这两个函数并解释原因,即描述执行的顺序 问题答案: 从Python文档 无论是否发生异常,finally子句始终在离开try语句之前执行。如果try子句中发生了异常且未由except子句处理(或在except或else子句中发生),则在执行finally子句后重新引发该异常。 当try语句的任何其他子句通过break,continue
问题内容: 使用Xcode 6 GM种子,我的代码完成已停止工作。前几天在工作。我试图让轻松的工作正常进行。我制作了一个Objc头文件,并将其分配为Swift类的头。 至此,我获得了一个Objective-c项目的代码完成。但是,不是Swift项目。 我尝试重新启动Xcode,制作一个新的空项目。 问题答案: 只需进入并 删除 文件夹的数据(派生数据),然后 重新启动 Xcode。
在 中,尝试捕获最终阻止的工作原理是什么? 所以如果有例外,我知道它会跳到捕获块,然后跳到最后的块。 但是如果没有错误,catch块不会运行,但是finally块会运行吗?