Подумайте об этом так: причина игнорирования сообщения об ошибке - плохая, потому что, если что-то не работает, вы должны обработать его и что-то с ним сделать (например, предупредить пользователя, повторить попытку, что угодно). Однако в этом случае вы на самом деле не справляетесь с этим - вы просто завершаете приложение (что также является плохой практикой).
Я бы предположил, что определенно было бы полезно иметь утверждение, чтобы убедиться, что вы что-то ловите в отладочных сборках. Написание чего-либо с использованием OutputDebugString может быть хорошей идеей для сборок релиза. Таким образом, вы не игнорируете приложение при возникновении ошибки, вы записываете его, но не завершаете приложение ...
Завершение работы приложения без предупреждения или объяснения просто сбивает с толку и раздражает ваших пользователей .... Как бы вы объяснили это пользователю - «Ну, что-то, что я не могу объяснить, провалилось так, как никогда не должно происходить, и Я не могу игнорировать это, поэтому я должен выйти из приложения прямо сейчас! "?
Полагаю, моя точка зрения состоит в том, что утечка дескриптора, хотя и плохая, гораздо менее опасна, чем неожиданное завершение работы приложений.