StackOverflowError

Status
Nicht offen für weitere Antworten.

mermen

Aktives Mitglied
hi Leute!

wie fange ich einen StackOverflowError in einem try-catch-block auf????

die genaue fehlermeldung lautet:

java.lang.StackOverflowError
at java.util.Random.nextInt(Unknown Source)
at Vokabeltrainer.zufallszeile(Vokabeltrainer.java:100)
at Vokabeltrainer.frage(Vokabeltrainer.java:162)
at Vokabeltrainer.frage(Vokabeltrainer.java:163)
at Vokabeltrainer.frage(Vokabeltrainer.java:163)
at Vokabeltrainer.frage(Vokabeltrainer.java:163)
at Vokabeltrainer.frage(Vokabeltrainer.java:163)
at Vokabeltrainer.frage(Vokabeltrainer.java:163)
....usw...


oder geht das gar nicht????
 

Illuvatar

Top Contributor
Wie wohl? 0o

Code:
try{blupp
}catch (StackOverflowError e){bla
}

Aber wenn so einer kommt solltest du den besser nicht fangen sondern den Fehler beseitigen :roll:
 
B

bygones

Gast
gehen tut es schon, wie aber gesagt, man sollte so einen VirtualMachineError nicht abfangen - sondern ihn gar nicht erscheinen lassen...
 

mermen

Aktives Mitglied
der fehler ist aber eigentlich gewollt....

er taucht am ende des programms auf....womit das programm beendet wäre....danach soll ein anderes programm aufgerufen werden....welches eine auswertung macht! (aber nicht über den StackOverflowError !!)

ich denke, das ist eine gute lösung.....da ich ihn ja auffange und dann weiter verarbeite.....oder spricht da irgentwas dagegen???
 

mermen

Aktives Mitglied
außerdem hat das programm beispiele.....aber da es nur ein ansatz sein soll....sind die beispiele irgentwann verbraucht....
gibt es keine beispiele....so ahb ich eine endlosschleife, also auch somit meinen StackOverflowError .... normalerweise gäbe es viel mehr beispiele und man würde sicher nie alle beispiele durchspiele.....das es tage dauern könnte!!!!!
der fehler tritt halt nur auf, wenn jemand meine beispiele durchspielt oder sich tagelang vor das programm setzt....aber ich möchte trotzdem einen "abfangjäger" dafür haben.....

denke also das es ok ist!!!!
 
B

bygones

Gast
1. nur weil der Author denkt ein fehler wird so und so nie auftreten heißt es nicht, dass es nicht passiert ;-)
2. Programm zu beenden durch einen Fehler ist nicht keine gute und schöne praxis
3.
Code:
while(gibtEsNochAntworten()) {
  // mach wwas
}
einfacher, übersichtlicher und logischer Grund wann ein Programm aufhört
 

mermen

Aktives Mitglied
danke leute....ich hab hin und her überlegt und bin dann est drauf gekommen....

ich kann nun nicht kurz erklären wie....aber ich hab ja einen vektor, der jederzeit aktuallisiert wird....somit kann ich die vokabeln löschen und abfragen ob es noch vokabeln gibt......
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben