Если вы не имеете в виду, что фактическая JVM потерпела крах с программной ошибкой, но более того, вы получили исключение, которое неожиданно остановило вашу программу, вы можете использовать try-catch в своем основном методе:
public static void main(String args[]) {
try {
doStuff();
} catch (Throwable e) {
e.printStackTrace();
logStuff(e);
}
}