# SIMCONNECT_RECV_EXCEPTION The **SIMCONNECT\_RECV\_EXCEPTION** structure is used with the `SIMCONNECT_EXCEPTION` enumeration type to return information on an error that has occurred. ##### Syntax ``` cpp struct SIMCONNECT_RECV_EXCEPTION : public SIMCONNECT_RECV { DWORD dwException; DWORD dwSendID; DWORD dwIndex; }; ``` ##### Members {{< table-wrapper >}} | Member | Description | | --- | --- | | `dwException` | One member of the `SIMCONNECT_EXCEPTION` enumeration type, indicating which error has occurred. | | `dwSendID` | The ID of the packet that contained the error, see Remarks below.Special case: `SIMCONNECT_RECV_EXCEPTION::UNKNOWN_SENDID`.Note that if this special case is returned, there has been an _internal_ problem. | | `dwIndex` | The index number (starting at 1) of the first parameter that caused an error.Special case: `SIMCONNECT_RECV_EXCEPTION::UNKNOWN_INDEX`. | {{< /table-wrapper >}}   ##### Remarks This structure inherits the `SIMCONNECT_RECV` structure and is returned when the `dwID` parameter of `SIMCONNECT_RECV` is set to [`SIMCONNECT_RECV_ID_EXCEPTION`](simconnect-recv-id/). In order to match the `dwSendID` parameter returned here, with the ID of a request, use the `SimConnect_GetLastSentPacketID` call after each request is made. Note that the `HRESULT` errors returned after each API call do not involve any communication with the SimConnect server, but are simply client-side errors that are returned immediately. Test for exceptions to check for server-side errors.