Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java catch语句之前的Return语句_Java_Android_Return - Fatal编程技术网

Java catch语句之前的Return语句

Java catch语句之前的Return语句,java,android,return,Java,Android,Return,我已经在AsncTask中添加了一个return语句,但仍然收到一个错误,告诉我添加一个。阻止此语法错误的唯一代码片段是在catch语句之后添加一个return语句,但这会适得其反,不能满足程序的需要,而且我无法访问需要访问的字符串(我需要检查return-OuputStream是否等于true) 代码: 但这会适得其反,不能满足项目的需求 那么,“程序的需求”是什么?如果抛出IOException,您希望结果是什么?它必须是真的、假的,或者是异常-目前,这些都不是 我建议,大多数时候,你只是让

我已经在AsncTask中添加了一个return语句,但仍然收到一个错误,告诉我添加一个。阻止此语法错误的唯一代码片段是在catch语句之后添加一个return语句,但这会适得其反,不能满足程序的需要,而且我无法访问需要访问的字符串(我需要检查return-OuputStream是否等于true)

代码:

但这会适得其反,不能满足项目的需求

那么,“程序的需求”是什么?如果抛出
IOException
,您希望结果是什么?它必须是真的、假的,或者是异常-目前,这些都不是

我建议,大多数时候,你只是让异常冒出来……你真的能像在发生
IOException
的情况下什么都没有发生一样继续吗

作为旁注,这很难看:

if(result_true) {
    return true;  
} else {
    return false;
}
只需使用:

return checkresult(result);
(理想情况下,重命名各种方法和变量以遵循Java命名约定。)


我还建议将其更改为return
boolean
而不是
Booelean
,您必须在
方法块中添加
return
语句

像这样做

protected Boolean doInBackground(String... userandpass)  { 

boolean isOk = false;

// Your code

if(result_true) {
                isOk = true;

            } else {

                isOk = false;
            }

 return isOk;

 }

catch语句的一个分支既不返回值也不引发异常

} catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

那里的块需要有某种形式的代码来返回某些内容,否则该方法将无法正常运行。

catch(IOException e)
块中必须有一个return语句。当捕获IOException时,编译器不知道返回什么


您有2个选择,返回内容(false),或重新显示异常。

我知道如果调用IOException,函数必须为false,但如何检查字符串是否为true?为什么不在这些catch块中为result\u true指定适当的值,然后在方法末尾返回result\u true?@srikanthyaradla因此,我检查结果,然后添加一个返回stat是否在catch块后重新赋值?是的,您在方法的开头用一些默认值声明变量结果,并在适当的地方赋值,然后在方法的末尾返回method@TheBlueCat:如果IOException意味着您应该返回false,您可以从catch块返回,如果您真的想…从第一眼看,我会的例如,第二个catch块是缺少return语句的执行路径。请删除对
result\u true
的冗余检查,并在方法末尾添加
return result\u true;
,这就是您所需要的
if(result\u true)return true;else return false;
的作用与
return result\u true
相同。从if-else块内返回布尔变量result\u true不会被视为从方法返回……因此我将另一个变量isOk设置为在块外返回
} catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
} catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }