# RXS_Throw() This subprocedure can be used to throw an error. The error information is populated into a data structure which is then passed to RXS_Throw. The error can be caught by [RXS_Catch()](https://isupport.katointegrations.com/rxs/3.0/rxs_catch.md). ## Subprocedure Prototype ### IBM i 6.1+ | Field | Description | |---|---| | ` D RXS_Throw... D PR Extproc('RXS_Throw')` | | | ` D DS Likeds(RXS_CatchThrowErrorDS_t)` | The RXS_CatchThrowErrorDS_t data structure that contains the error information to be thrown. | ## Example Code ### IBM i 6.1+ #### Example 1 ```rpgle *-------------------------------------------------------------- * This example code demonstrates throwing a diagnostic error * by assigning values to a RXS_CatchThrowErrorDS_t datastructure and * throwing the error datastructure to the calling program. *-------------------------------------------------------------- H DFTACTGRP(*NO) BNDDIR('RXSBND') ACTGRP(*CALLER) /copy QRPGLECPY,RXSCB D gErrorDS DS Likeds(RXS_CatchThrowErrorDS_t) D Inz(*LikeDS) /free // Send a diagnostic error message reset gErrorDS; gErrorDS.MessageId = 'CPF9898'; gErrorDS.MessageFile = 'QCPFMSG'; gErrorDS.MessageData = 'This is a *DIAG error being thrown'; gErrorDS.MessageType = RXS_MESSAGE_TYPE_DIAG; RXS_Throw(gErrorDS); *INLR = *ON; /end-free ``` ## Data Structures ### RXS_CatchThrowErrorDS_t | Field | Description | |---|---| | ` D RXS_CatchThrowErrorDS_t... D DS Qualified Template Inz` | | | ` D MessageId 7A` | The message ID that was received. | | ` D MessageFile 20A` | The message file used to store the message ID. | | ` D MessageData 1024A Varying` | The message data to be merged with the text of the message ID. | | ` D MessageType 5I 0` | The type of message that was sent. **Valid Values:** `RXS_MESSAGE_TYPE_DIAG`, `RXS_MESSAGE_TYPE_COMP`, `RXS_MESSAGE_TYPE_INFO`, `RXS_MESSAGE_TYPE_INQ`, `RXS_MESSAGE_TYPE_RQS`, `RXS_MESSAGE_TYPE_NOTIFY`, `RXS_MESSAGE_TYPE_ESCAPE`, `RXS_MESSAGE_TYPE_STATUS` | | ` D MessageText 4096A Varying` | The full message text that combines the value of the message ID's text and the merged message data. |