Hey,
ich hab mich mal grad wieder aufgerafft, mein SJCP-Vorhaben weiterzubringen. Ich hab jetzt weitergemacht, wo ich vor ca einem halben Jahr aufgehört hab. Noch mit etwas bitterem Beigeschmack mach ich jetzt weiter, weil ich weiss noch wie missverständlich für mich dieser Guide immer war.
Und jetzt leg ich los, und zack nach 5 Minuten schon wieder ein großes Fragezeichen.
Es geht um Exceptions, und was passiert wenn sie auf dem kompletten Weg durch den Stack Trace nirgendwo abgefangen werden.
Es heißt im Buch (ich hasse pdf Dokumente, ich muss das abtippen weil ma nix rauskopieren kann :noe:
So, wenn die JVM anhält, dachte ich, läuft doch gar nix mehr? Fakt ist aber, dass lediglich der aufrufende Thread abschmiert. Wenn ich in der main() einen neuen Thread starte, und danach eine Exception werfe und nicht abfange, kommt in der Konsole der Stack-Trace, aber der andere Thread läuft fröhlich weiter. Habs mit sysouts getestet.
Also.. war das jetzt wieder eine Halbwahrheit in dem Buch, und sie gehen schweigend davon aus, dass man nur 1 Thread hat, oder weiss ich nur nicht richtig was JVM heisst? Gibt es denn für jeden Thread ne eigene JVM?
... ich befürchte ihr müsst in nächster Zeit wieder mit mehreren solcher Threads rechnen. Aber ich weiss mir sonst einfach nicht zu helfen, dieser Guide ist nun mal so unklar geschrieben
Dank euch!
ich hab mich mal grad wieder aufgerafft, mein SJCP-Vorhaben weiterzubringen. Ich hab jetzt weitergemacht, wo ich vor ca einem halben Jahr aufgehört hab. Noch mit etwas bitterem Beigeschmack mach ich jetzt weiter, weil ich weiss noch wie missverständlich für mich dieser Guide immer war.
Und jetzt leg ich los, und zack nach 5 Minuten schon wieder ein großes Fragezeichen.
Es geht um Exceptions, und was passiert wenn sie auf dem kompletten Weg durch den Stack Trace nirgendwo abgefangen werden.
Es heißt im Buch (ich hasse pdf Dokumente, ich muss das abtippen weil ma nix rauskopieren kann :noe:
But what about if you get to the main() method at the bottom? (Gemeint ist bottom vom Stack Trace) You can throw the Exception out of main() as well. This results in the Java Virtual Machine (JVM) halting, and the stack trace will be printed to the output.
So, wenn die JVM anhält, dachte ich, läuft doch gar nix mehr? Fakt ist aber, dass lediglich der aufrufende Thread abschmiert. Wenn ich in der main() einen neuen Thread starte, und danach eine Exception werfe und nicht abfange, kommt in der Konsole der Stack-Trace, aber der andere Thread läuft fröhlich weiter. Habs mit sysouts getestet.
Also.. war das jetzt wieder eine Halbwahrheit in dem Buch, und sie gehen schweigend davon aus, dass man nur 1 Thread hat, oder weiss ich nur nicht richtig was JVM heisst? Gibt es denn für jeden Thread ne eigene JVM?
... ich befürchte ihr müsst in nächster Zeit wieder mit mehreren solcher Threads rechnen. Aber ich weiss mir sonst einfach nicht zu helfen, dieser Guide ist nun mal so unklar geschrieben
Dank euch!
Zuletzt bearbeitet: