主类(Main1.java)。其中的方法有a1(),a2().
在Main1.java要先后调用a1(),a2()。当a1()中try块里出现异常,那么进入catch中,catch里写return;是否会重新执行a1()这个方法?如果会执行,在return时执行成功了,能够回到Main1中,继续执行a2()方法吗?其中a1和a2都是void返回类型请详细解释一下,如果出现异常,我想重新执行该方法,并且执行后返回调用处继续向下执行其他代码,该如何实现?谢谢各位大侠!!!!!!!!!!!!!!!!!!!!!!
在Main1.java要先后调用a1(),a2()。当a1()中try块里出现异常,那么进入catch中,catch里写return;是否会重新执行a1()这个方法?如果会执行,在return时执行成功了,能够回到Main1中,继续执行a2()方法吗?其中a1和a2都是void返回类型请详细解释一下,如果出现异常,我想重新执行该方法,并且执行后返回调用处继续向下执行其他代码,该如何实现?谢谢各位大侠!!!!!!!!!!!!!!!!!!!!!!
if (client == null) {
try {
client = new FtpClient();
setConnectTimeOut(5000);
client.openServer(host, port);
client.login(username, password);
client.cd(path);
client.binary();
} catch (IOException e) {
e.printStackTrace();
// 出现错误
client = null;
textarea.append(Down.getDate() + " 与服务器连接失败,正在尝试重新连接服务器... \n");
textarea.setCaretPosition(textarea.getText().length());
return;
}
} else {
try {
client.noop();
client.cd(path);
} catch (IOException e) {
e.printStackTrace();
} }
}
这个是我连接服务器时用的方法,如果出现异常,在catch块中写了return 语句,是否可以重新执行connect这个方法?是否可以回到调用connect这个方法的地方继续执行下面的代码?
3楼说的finally,你可以用下,应该可以的.
不过小心哦..一个try只对应一个finally
如果你把finally写在a2后面,那就不是a1的finally了。
fanally方法里面利用递归调用。