Java 方法编译给出;“缺少返回语句”;错误
这种方法有什么问题? 这不会编译。 给出一个错误,如:rs可能未初始化 如果我在try块中使用“ResultSet rs”,那么错误是:变量rs未找到 若return语句也在try块中,那个么错误是:缺少return语句。 我不知道我做错了什么。 请帮助修复此错误。 谢谢Java 方法编译给出;“缺少返回语句”;错误,java,Java,这种方法有什么问题? 这不会编译。 给出一个错误,如:rs可能未初始化 如果我在try块中使用“ResultSet rs”,那么错误是:变量rs未找到 若return语句也在try块中,那个么错误是:缺少return语句。 我不知道我做错了什么。 请帮助修复此错误。 谢谢 若要继续,请将此添加为方法的最后一行: return null; 至少,您可以开始调试(可能需要大量调试)。一般来说,获取和释放资源的模式是: Resource res = acquire(); try { use(
若要继续,请将此添加为方法的最后一行:
return null;
至少,您可以开始调试(可能需要大量调试)。一般来说,获取和释放资源的模式是:
Resource res = acquire();
try {
use(res);
} finally {
res.release();
}
或者在Java SE 7中:
try (Resource res = acquire()) {
use(res);
}
您不能(默认情况下)从一个方法返回一个资源,并期望它被某种魔法清理掉。您可能想了解一下“执行周围”习惯用法,不过首先最好更好地理解基本原理 您必须为每个可能的执行路径返回一个
结果集。目前,如果try
块成功,则不会返回任何内容。您可以将finally
块添加到try catch
并将返回null代码>在那里或返回rs
由于未初始化,因此为空
public ResultSet mqe( String q ){
ResultSet rs;
try{
...
}catch(Exception ee){
ee.printStackTrace(); }
return rs;
}finally
{
return rs;
}
您是否尝试过初始化ResultSet rs=null
?您好,谢谢!添加ResultSet rs=null和finally块有效。
public ResultSet mqe( String q ){
ResultSet rs;
try{
...
}catch(Exception ee){
ee.printStackTrace(); }
return rs;
}finally
{
return rs;
}