【发布时间】:2013-12-26 21:31:18
【问题描述】:
早上好。 我在“表”类中有一个“插入”方法。 在这种方法中,我获取类的成员,并使用preparedStatement 将它们写入数据库。 如果出现问题,我希望“插入”会抛出 SQLException。 这是来源:
public void insert() throws SQLException
{
PreparedStatement sqlCommand = null;
try
{
sqlCommand = this.db.prepareStatement(prepareInsertQuery());
sqlCommand.execute();
}
finally
{
if (sqlCommand!=null)
{
sqlCommand.close();
}
}
}
这是一个问题: 如果我放置一个“catch SQLException”块,我必须在我的方法内处理异常,我不想要它(我想将异常处理放在主程序中,用于记录)。 如果我不放“catch SQLException”,异常将被忽略。
我怎样才能关闭 sqlCommand 但如果我得到一个异常,传播它?
谢谢!
【问题讨论】:
-
“异常将被忽略”是什么意思?如果
try的主体产生异常,那么整个方法将抛出相同的异常(除非finally块抛出异常)。