请问:如果某个函数出现异常,能否在捕获某个异常之后再递归的调用这个函数呢?
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) {
}
呵呵 我做了实验!
结果表明是可以的!
我的测试代码如下:
[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 次左右才出这个错的
当然可以啊
这个自己跑一下不就清楚了
很不错。。 应该可以。。 试试。。