StackOverflowError如何解决这个问题?

时间:2013-12-07 09:29:12

标签: java stack-overflow

       public Boolean UpdateKontrol2() {
       page2 = fbclient.fetchObject(data[sayfasayisi][0], Page.class);

       pageposts7 = fbclient.fetchConnection(page2.getId() + "/feed",
                    Post.class, Parameter.with("since", "05-12-2013"), Parameter.with("type", "post"));
       pageposts5 = fbclient.fetchConnection(page2.getId()  + "/feed",
                    Post.class, Parameter.with("since", "05-12-2013"), Parameter.with("type", "post"));

       pageposts9 = fbclient.fetchConnection(page2.getId()  + "/feed",
                    Post.class, Parameter.with("since", "05-12-2013"), Parameter.with("type", "post")); 
       // some fetch operations like this :
       update[i - r][0][sayfasayisi] = pageposts5.getData().get(yukarıgecici2).getMessage();
       // some control operations here
        if (sayfasayisi == boyut) {
        sayfasayisi = 0;
        long finishdate = System.currentTimeMillis();
        long result =finishdate - datestart ;
        if (result<3600000) {
            try {
                Thread.sleep(3600000-result);
            } catch (InterruptedException ex) {
                Logger.getLogger(UpdateDeneme.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
    return UpdateKontrol2();

我的代码工作正常但在8或9小时后我收到StackOverFlow错误。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是一个递归函数,但没有基本情况可以返回。换句话说,你有这个代码返回一个布尔值,但你永远不会返回一个实际的布尔值,你只返回函数本身。看起来你正试图迭代地做一些事情,但你没有退出条件......基本上是无限循环。