Hallo,
Nein den kannst Du nicht abfangen. Wenn die VM über keinen freien Speicher mehr verfügt, kann sie auch keine Ausnahmenverarbeitung mehr machen. Dazu müsste sie ja erst irgend etwas willkürlich freigeben.
Doch, man kann das schon abfangen. Man sollte danach aber nicht mehr
sehr viele Objekte auf dem Heap anlegen. :-)
Du kannst aber vorher abfragen, wie viel Speicher Dir zur Verfügung steht, bzw wie viel noch frei ist:
Siehe freeMemory() und maxMemory() http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html
Zumindest freeMemory() gibt oft aber auch eher Fantasie-Werte zurück.
Am besten versuchst Du aber erst gar nicht, möglichst viel Speicher zu nutzen, sondern schreibst die Ergebnisse häufig genug auf die Platte.
Jop.
Gruß
Slyh