Ну, я бы порекомендовал не начинать сбои вашего приложения.Если есть что-то, что МОЖЕТ потерпеть крах, просто поместите try / catch вокруг него и обработайте его должным образом.
Или, как своего рода глобальный try / catch, вы можете использовать Thread.setUncaughtExceptionHandler()
.Наконец, вы могли бы даже рассмотреть Runtime.addShutdownHook
, но это, скорее всего, плохая идея.