Wie bekomme ich eine Stapelverfolgung einer Ausnahme in Scala, um sie zu drucken?

8

In einem Programm von mir würde ich gerne alle Ausnahmen abfangen und sie explizit ausdrucken (um schließlich mit den Ausnahmen fortfahren zu können).

Also ich habe es versucht:

%Vor%

Aber das (mit getStackTrace) selbst verursacht "java.lang.OutOfMemoryError: PermGen space". Was mache ich falsch? Ich bin sicher, dass ich reichlich freien JVM-Heap-Speicher frei habe, bevor ich das bekomme (da ich versucht habe, am Anfang des Programms eine Ausnahme zu verursachen).

    
Ivan 24.10.2010, 22:27
quelle

2 Antworten

4

Ich denke, Sie sollten ein genaues, eigenständiges Arbeitsbeispiel hier veröffentlichen, weil dies für mich mit 2.8.0 funktioniert (d. h. zeigt überhaupt keine Speicherprobleme):

%Vor%

Ich frage mich, ob Sie eine Ausnahme haben, die eine eigene cause ist? Umgekehrt kann es sein, dass Ihr Programm sehr wenig Speicher belegt ( 32Mb ist übrigens der Standard auf einer Client-Klasse Maschine ) und du hast einen sehr tiefen Stack (nicht ungewöhnlich in scala-land!)

    
oxbow_lakes 25.10.2010 11:48
quelle
1

Klingt so, als müssten Sie mehr permgen Raum zuweisen. In Java machen Sie dies mit einem JVM-Argument:

%Vor%

Sie können JVM-Argumente für Scala festlegen, indem Sie eine Umgebungsvariable setzen:

%Vor%     
Tom Crockett 24.10.2010 22:52
quelle

Tags und Links