Из POV разработки коммерческих приложений должны быть перехвачены все исключения, и НИКОГДА не должно быть разрешено аварийно завершить работу программы. Потому что в настоящее время пользователи компьютеров могут различать сообщение об ошибке и диалоговое окно сбоя приложения.
Продукт, который дает сбой, производит плохое впечатление на клиента. Если у вас нет возможности восстановить данные, вы можете вежливо показать сообщение об ошибке, в котором говорится, что приложение будет закрыто сейчас, и пользователь должен запустить приложение снова. Затем корректно завершите работу, когда пользователь нажмет ок в модальном диалоговом окне.
Даже иногда вы можете дать полезную информацию, когда нет возможности восстановиться. Например, в случае нехватки памяти вы можете посоветовать пользователю закрыть другие приложения (если они есть), прежде чем снова запускать это приложение.
Хотя конечный результат такой же, но понятное сообщение об ошибке создает гораздо лучшее впечатление, чем диалоговое окно, генерируемое ОС.