Как правильно использовать FormatMessage() в C++?
Помните, что вы не можете windows-applications делать следующее:
{
LPCTSTR errorText = _com_error(hresult).ErrorMessage();
// do something with the error...
//automatic cleanup when error goes out of scope
}
Поскольку windows класс создается и уничтожается c++ в стеке, остается errorText, указывающий windows-application на недопустимое местоположение. В windows-applications большинстве случаев это место cpp по-прежнему будет содержать windows-application строку ошибки, но эта вероятность c++ быстро исчезает при написании windows-applications многопоточных приложений.
Итак, всегда делайте error-handling это следующим образом, как windows-programming ответил Shog9 выше:
{
_com_error error(hresult);
LPCTSTR errorText = error.ErrorMessage();
// do something with the error...
//automatic cleanup when error goes out of scope
}
c++
windows
error-handling
formatmessage
Как правильно использовать FormatMessage() в C++?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.