Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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/9/loops/2.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_Loops_Exception - Fatal编程技术网

Java在抛出异常时循环方法

Java在抛出异常时循环方法,java,loops,exception,Java,Loops,Exception,我有一个方法,如果数组[x][y]单元格不是空的,则抛出一个异常:CellNotEmptyException。 我需要运行该方法,如果它抛出异常,我需要重新运行它,直到它找到一个空单元格,最多运行5次。 如果在5次内未找到空单元格,则必须清理阵列,然后重新运行 有办法吗? 多谢各位 不过,这可能是一种情况。在找到一个单元格之前反复调用函数对我来说并不是一个好的设计。抛出异常是很慢的,所以如果这是程序的“正常”行为,那么考虑一些其他机制来寻找一个空单元格。异常是针对异常程序条件,而非正常操作。欢迎

我有一个方法,如果数组[x][y]单元格不是空的,则抛出一个异常:CellNotEmptyException。

我需要运行该方法,如果它抛出异常,我需要重新运行它,直到它找到一个空单元格,最多运行5次。
如果在5次内未找到空单元格,则必须清理阵列,然后重新运行

有办法吗? 多谢各位


不过,这可能是一种情况。在找到一个单元格之前反复调用函数对我来说并不是一个好的设计。抛出异常是很慢的,所以如果这是程序的“正常”行为,那么考虑一些其他机制来寻找一个空单元格。异常是针对异常程序条件,而非正常操作。

欢迎使用SO。请阅读这篇文章,它被称为一个catch语句。索蒂里奥斯的回答让我咯咯地笑了起来:程序员是一群非常有文字意识的人。我们的观点是,不清楚您不知道如何解决问题的哪一部分。这是可能的-试着编写代码,看看你能做多少,然后如果你有一个具体的问题,回来发布,并附上代码。@JVMATL-非常感谢。:-)当您遇到异常或卡在某个特定点时,请尝试自己编写代码,然后在使用stacktrace进行StackOverflow防御后,我们将帮助您@luca89pe永不气馁,并尝试通过自己的实现建立信心谢谢,这就是重点!!!!那么,它是不是更好的布尔返回方法,而不是抛出异常?@luca89pe可能。但是在没有看到代码的其余部分和了解场景的情况下,我无法给您一个明确的建议;可能有更好的设计。代码很简单:
code
如果(!this.grid.ismptycell(row,col))抛出新的notemptyclexception,用于生成随机的row和col的函数,那么,为了清楚起见:查找非空单元格不是真正的异常事件,所以我想我将使用return true-return false:)谢谢!!!
// loop forever until TheMethod() succeeds

while (true)
{
    try
    {
        TheMethod();
        break;
    }

    catch (Exception e)
    {
    }
}