Java Fehler: java.lang.StackOverFlowError beheben?

... komplette Frage anzeigen

2 Antworten

Stackoverflow bedeutet das du irgendwo in deinen Aufrufen eine schleife drin hast. Meistens siehst du das schon am stacktrace weil sich immer und immer wieder die gleichen methoden wiederholen.

Hier mal ein einfaches beispiel:

public void foo(){

bar();

}

public void bar(){

foo();

}

Bei einem aufruf einer der beiden methoden wird es zu nem stackoverflow kommen weil die sich immer gegenseitig aufrufen.

Eventuell könntest du ja einfach den stacktrace der exception posten.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Mikaai
29.09.2016, 17:36

Vielen Dank! 

Das Problem war, dass ich in einer Methode zwei mal dieselbe Methode aufrufen wollte. 

Also ungefähr so, wobei beide Befehle noch in if Bedingungen verwickelt waren.

public void artikelAusgang()

  lager1.artikelHolen();

  lager1.artikelHolen(); 

}

0

Den Fehler bekommt man oft wenn sich eine Funktion immer wieder selbst aufruft, also Prüfe zunächst mit dem Debugger ob das Programm nicht in so einer schleife hängt.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Mikaai
29.09.2016, 17:36

Vielen Dank! 

Das Problem war, dass ich in einer Methode zwei mal dieselbe Methode aufrufen wollte. 

Also ungefähr so, wobei beide Befehle noch in if Bedingungen verwickelt waren.

public void artikelAusgang()

  lager1.artikelHolen();

  lager1.artikelHolen(); 

}

0

Was möchtest Du wissen?