Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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块转到try块?_Java_Exception_Exception Handling - Fatal编程技术网

如何在java中从catch块转到try块?

如何在java中从catch块转到try块?,java,exception,exception-handling,Java,Exception,Exception Handling,我在try块中有一些逻辑。如果出现异常,那么我将在catch块中捕获异常 范例 try{ // line 1 }catch(SocketException se){ // again goto try block } 若控件进入catch块,那个么我想再次执行try块中的第1行,但如何再次进入try块?我们可以使用Label吗?如果要循环回代码中的较早点,请将代码放入循环中 while (true) { try { // line 1 (somethin

我在try块中有一些逻辑。如果出现异常,那么我将在catch块中捕获异常

范例

try{
    // line 1
}catch(SocketException se){
    // again goto try block
}

若控件进入catch块,那个么我想再次执行try块中的第1行,但如何再次进入try块?我们可以使用Label吗?

如果要循环回代码中的较早点,请将代码放入循环中

while (true) {
    try {
        // line 1 (something that might throw an exception)
        break;
    } catch (SocketException se) {
        // handle the error
    }
}
如果
try
块中的代码成功执行,将遇到
中断
,循环将退出。如果抛出一个
SocketException
,执行将返回
的顶部,而
循环将重复您的
行1


如果您只想重试固定次数(以避免无限期卡住),则可以使用
for
循环,而不是
while
循环。

如果您想循环回代码中的较早点,将代码放入循环中。您可以将代码放入方法中,并从捕获结果中调用该方法以执行重试。根据您的情况,递归或嵌套重试也是有效的选项,尽管通常不太理想。如果出现SocketException,则我要执行line1。