Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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 在内部方法中是否有使方法返回的方法?_Java_Oop_Methods_Break - Fatal编程技术网

Java 在内部方法中是否有使方法返回的方法?

Java 在内部方法中是否有使方法返回的方法?,java,oop,methods,break,Java,Oop,Methods,Break,在类似JAVA的面向对象语言中,如何通过内部方法使方法返回 例如,在某些登录场景中,我们必须检查输入值的有效性,我们只是这样编程: ... if(checkValidate()){ return; } dologin() ... ... checkValidate(); doLogin(); ... 方法checkValidate()的返回值为Boolean 是否有一种方法可以直接跳出checkValidate()的父方法,如下所示: ... if(checkValidate()){

在类似JAVA的面向对象语言中,如何通过内部方法使方法返回

例如,在某些登录场景中,我们必须检查输入值的有效性,我们只是这样编程:

...
if(checkValidate()){
   return;
}
dologin()
...
...
checkValidate();
doLogin();
...
方法checkValidate()的返回值为Boolean

是否有一种方法可以直接跳出checkValidate()的父方法,如下所示:

...
if(checkValidate()){
   return;
}
dologin()
...
...
checkValidate();
doLogin();
...

出于好奇,任何建议都将不胜感激。

实现这一点的一种方法是抛出一个您的父方法无法捕获的异常。自定义异常,类似于:InvalidLoginException

实现这一点的一种方法是抛出一个父方法无法捕获的异常。自定义异常,类似于:InvalidLoginException

它被称为“异常”。为什么您要简单地
返回
,而不是抛出适当的消息?您所称的
内部方法
实际上不是内部方法它过去被称为“goto”,但是在“goto”十字军东征之后,它不得不以“例外”的身份进行卧底。如果有一种方法可以做到你所描述的那样,没有例外,我认为这会使源代码难以遵循和/或调试它被称为“异常”。你为什么要简单地
返回
,而不是抛出适当的消息?你所称的
内部方法
实际上不是内部方法它过去被称为“goto”,但是在“goto”战役之后,它不得不以“exception”的身份进行秘密处理。如果有一种方法可以完全按照您描述的那样毫无例外地执行,我认为这会使源代码难以遵循和/或调试