Если у вас есть доступ к исходному коду вашего приложения, вы можете фактически перехватить все необработанные исключения, подписавшись на событие appdomain.currentdomain.unhandledexception. Таким образом, вы можете обрабатывать сбои приложений более изящно и регистрировать исключения, когда захотите.