异常机制与递归调用

请问:如果某个函数出现异常,能否在捕获某个异常之后再递归的调用这个函数呢?

public Object invokeHook() {

    try {
         。。。
    } catch (ConnectException e) {

        System.out.println(e.getMessage());
    }catch (NullPointerException e5) {
        System.out.println("目标为空,寻找下个目标");
                                return invokeHook();
                }
    catch (CommunicationException e1) {
        System.out.println("连接超时,寻找下个目标");

            return invokeHook();
        }
    } catch (Exception e2) {

    }

3个回答

呵呵 我做了实验!
结果表明是可以的!

我的测试代码如下:

[quote]
public class TestCallBack {

public void callBack(){

    try {
        int i=Integer.parseInt("5.5");
    } catch (NumberFormatException e) {
         System.out.println("抛异常了!");
         callBack();
    }
}
public static void main(String[] args) {
    TestCallBack tt=new TestCallBack();
    tt.callBack();
}

}
[/quote]

打印的结果是:
[quote]
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
抛异常了!
[/quote]

注意: 一直打下处 会 堆栈益处“
!Exception in thread "main" java.lang.StackOverflowError

我测试了 500 次左右才出这个错的

当然可以啊
这个自己跑一下不就清楚了

很不错。。 应该可以。。 试试。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问