RGetLastErr()
Retrieves the current error status and optionally resets it.
Synopsis
int RGetLastErr( string & err_desc, int & userData, bool autoclear = false);
Parameter | Description |
---|---|
err_desc | Return parameter for error description. |
userData |
Return parameter for the context (function) in which error occurred. The user data variable can be set to an integer value and be used to detect errors when calling R functions. Set the variable to an integer value for an R function when you call it. The function RGetLastErr() returns the integer value that was set for a function via the "userData" parameter if an error occurs. |
autoclear | Optional parameter. If this parameter is set to true, then the error status (value, description and context) are automatically cleared. |
Return Value
Error status value (0 .. no error)
Description
Retrieves the current error status and optionally resets it.
Example
The example calls the REvalExpVar function and returns the current error status via the RGetLastErr() function.
#uses "CtrlR"
#uses "SmartSCADA/analytics/RCtrl.ctl"
main()
{
dyn_float var1 = makeDynFloat(31,31,33,32,34,33,32,35,29,34,38,40,37,38,36,36,36,39,38,40,35,32,34,32,34,29,29,28,31,28,30,34,33,28,31,32,33,33,33,35,36,36,40,38,40,37,40,38,40,38);
dyn_float var2 = makeDynFloat(401,381,382,392,406,372,361,405,392,399,350,342,346,354,304,345,320,317,356,323,386,406,405,396,400,401,365,400,391,398,362,368,363,373,389,370,406,386,402,367,379,380,406,389,374,379,399,406,377,407);
RSetVar("var1", var1);
RSetVar("var2", var2);
string err_desc;
int userData;
string H_LINE = "***************************************************************************";
//Function call REvalExpVar()->Evaluates an R expression and sets the result value for the R variable "cResult"
int rv = REvalExpVar(0, "cResult", "cor(%var%,%var%)", var1, var2);
if (RGetLastErr(err_desc, userData, true) != 0) //error handling via the RGetLastErr function
{
DebugTN("Error occurred: " + err_desc);
}
else
{
DebugN("REvalExpVar_test finished! Return value:", rv);
anytype at = RGetVar("cResult");
DebugN("Value of the R variable cResult:", at);
DebugN(H_LINE);
}
}