我有一些代码会引发潜在的错误,我抓住了这些,然后跳到一个finally
块中,这里是“伪”形式。
private boolean myMethod(ResultSet rs1, ResultSet rs2){
Vector<String> temp = new Vector<String>();
try{
//add info into temp while condition is true
while(true){temp.add(information);}//potentially throws an SQL error
//test my temo object for some codition
if(false){throw InternalError();}
}catch (SQLException e){
//send error message
}
catch (InternalError e){
//send error message
}
finally{
//whatever happens I need to send a result of some sort!
if(temp.size() > 1){
//create class member variable from this info
}
//send a message explaining that an error has occurred.
//this is the message to say if things have worked or not, so as the
//calling code can handle an re-run this method until this value returns true.
return booleanValue
}//end finally
}//end method
我不确定此错误消息在这种情况下的确切含义。
我通常在任何抛出异常的方法中处理任何异常,在这种情况下我应该抛出而不是处理异常,并在自定义异常中捕获这两个错误吗?
我发送的前两条消息主要用于开发目的,因为我必须处理它们。我的 finally 块中的消息最终将包含给用户的消息,要求他们确认情况、进行修改、中止或更改我们遇到这种情况的方式。
我应该怎么做才能“删除”编译器消息。我不喜欢在我的代码中抑制警告,因为我不喜欢暗示我可能会在链的下游抑制其他东西,而且抑制是针对整个方法的,我不能为此添加它一小段代码。
对我的情况有什么建议。
提前致谢。
编辑 1:为了反映评论,抱歉忘记将正确的返回类型(愚蠢的错误)与 if(test){} 右括号相同。
PS。对于那些“投反对票”的人,您可以发表评论,让我有机会在投反对票之前进行编辑。谢谢。同样在我的代码中,这些东西并没有给我带来问题,这是发布过程中大脑和手指之间的“查询脚本故障”的情况。