--- description: "Learn more about: _com_raise_error" title: "_com_raise_error" ms.date: "11/04/2016" f1_keywords: ["_com_raise_error"] helpviewer_keywords: ["_com_raise_error function"] ms.assetid: a98226c2-c3fe-44f1-8ff5-85863de11cd6 --- # _com_raise_error **Microsoft Specific** Throws a [_com_error](../cpp/com-error-class.md) in response to a failure. ## Syntax ```cpp void __stdcall _com_raise_error( HRESULT hr, IErrorInfo* perrinfo = 0 ); ``` #### Parameters *hr*
HRESULT information. *perrinfo*
`IErrorInfo` object. ## Remarks **_com_raise_error**, which is defined in \, can be replaced by a user-written version of the same name and prototype. This could be done if you want to use `#import` but do not want to use C++ exception handling. In that case, a user version of **_com_raise_error** might decide to do a `longjmp` or display a message box and halt. The user version should not return, though, because the compiler COM support code does not expect it to return. You can also use [_set_com_error_handler](../cpp/set-com-error-handler.md) to replace the default error-handling function. By default, **_com_raise_error** is defined as follows: ```cpp void __stdcall _com_raise_error(HRESULT hr, IErrorInfo* perrinfo) { throw _com_error(hr, perrinfo); } ``` **END Microsoft Specific** ## Requirements **Header:** \ **Lib:** If the **wchar_t is Native Type** compiler option is on, use comsuppw.lib or comsuppwd.lib. If **wchar_t is Native Type** is off, use comsupp.lib. For more information, see [/Zc:wchar_t (wchar_t Is Native Type)](../build/reference/zc-wchar-t-wchar-t-is-native-type.md). ## See also [Compiler COM Global Functions](../cpp/compiler-com-global-functions.md)
[_set_com_error_handler](../cpp/set-com-error-handler.md)