Java的异常处理

来源:百度知道 编辑:UC知道 时间:2024/06/14 04:14:32
主类(Main1.java)。其中的方法有a1(),a2().
在Main1.java要先后调用a1(),a2()。当a1()中try块里出现异常,那么进入catch中,catch里写return;是否会重新执行a1()这个方法?如果会执行,在return时执行成功了,能够回到Main1中,继续执行a2()方法吗?
其中a1和a2都是void返回类型。
谢谢你的回答。那么能重新执行该方法吗?怎么操作呢?
异常里用continue?怎么用?
现在已经找到答案了,就是在a1()方法的catch中再次调用a1(),谢谢各位。
其实是这样的,我用FtpClient写了一个FTP文件下载的小软件,中途有超时的时候。那么出现超时后,我就在a1()的catch块中重新连接一下服务器。就是这个目的。最后再次感谢各位的耐心解答。

看到你的问题觉得很奇怪,也很惊讶;
奇怪的是,既然a1()方法都出现异常了,为什么要再执行呢,执行了不是还是同样原结果吗?当然你要真的想执行也不是没有办法可以用迭代,就是在a1方法中调用a1。
惊讶的是居然有人说让你用continue,实在不明白这位仁兄会不会Java,知不知道continue应该在什么地方用。如果不知道请不要在这里误导他人!
continue不能用,它是在循环中控制程序流,而不是在所有的地方都可以控制的。就像从1到10,到了2,你说continue,他会去找3,但是如果单一的模拟银行系统,就用户取钱操作,本来就只是一个用户完整的操作,你了完了一次,或者成功了,或者失败了,你可以让它continue吗,这个账户不行,去继续另一个账户?

return 了就是退出这个方法体了,所以代码不会自动再次执行a1();
a1()执行完之后就会继续执行a2(),只要在a1()中不会出现捕获不到的异常

你的原来的题目是怎么样子的,也许你的整体思路想复杂啦。

return是用来退出的,return后面的语句除了finally中的全部都不会执行,如果你的a1有了异常会直接结束的,想要继续程序的话应该用continue

return执行成功之后就执行a2()了。