Недавно я обновлял некоторый код, используемый для создания снимков экрана, используя GetWindowDC -> CreateCompatibleDC -> CreateCompatibleBitmap -> SelectObject -> BitBlt -> GetDIBits серии WinAPI-функций.Теперь я проверяю все эти ошибки, потому что они могут, а иногда и терпят неудачу.Но затем я должен выполнить очистку, удалив созданное растровое изображение, удалив созданный DC, и освободив окно DC.В любом примере, который я видел - даже в MSDN - связанные функции (DeleteObject, DeleteDC могут потерпеть неудачу.
Это только один примечательный пример, поскольку все вызовы расположены рядом друг с другом.Но иногда есть другие функции, которые могут давать сбой, но на практике никогда не работают.Такие как GetCursorPos.Или функции, которые могут давать сбой, только если переданы недопустимые данные, такие как FileTimeToSytemTime.
Итак, является ли хорошей практикой проверка ВСЕХ функций, которые могут выйти из строя из-за сбоя?Или все в порядке, чтобы не проверить?И, как следствие, при проверке этих функций, которые должны работать без сбоев, что является правильным?Выдает исключение во время выполнения, используя assert, что-то еще?