RX_GET_ERRINFO
Return information about nonfatal xfServerPlus errors
WTSupported in traditional Synergy on Windows
|
WNSupported in Synergy .NET on Windows
|
USupported on UNIX
|
VSupported on OpenVMS
|
xcall RX_GET_ERRINFO(netid, remote_err_descriptor)
Arguments
netid
Network connection ID corresponding to the value set by %RX_START_REMOTE. (n)
remote_err_descriptor
A record containing the fields in the remote execution error packet. The record format is
group rx_stderror method_id ,a32 num_of_errors ,i4 error_num ,i4 description ,a128 clarifying_desc ,a256 endgroup
Discussion
You can call RX_GET_ERRINFO to get more information about a nonfatal runtime error generated during an %RXSUBR call. See the record format in the example below for the information returned.
In the event of a nonfatal error, xfServerPlus sends a message to the client. When this message is received, information about the error is stored with the associated network connection ID and a runtime error is signaled on the client. The xfServerPlus session remains available for future calls.
The record structure shown above is defined in rxerr.def, located in DBLDIR. To extract error information, you have to .INCLUDE the rxerr.def file.
Examples
To .INCLUDE rxerr.def:
.define RX_ERR_DEF record errinforec .include "DBLDIR:rxerr.def" .undefine RX_ERR_DEF
Error handling code:
onerror ($ERR_XFREQPARM) handle_parmerr, handle_other ;trap parm err separately, and then trap others xcall rxsubr(netid, "methodid", arg1, arg2, arg3) offerror . . . handle_parmerr, xcall RX_GET_ERRINFO(netid, errinforec) xcall handle_parmerr(errinforec) xreturn handle_other, xcall RX_GET_ERRINFO(netid, errinforec) case %ERROR of begincase . . . endcase else . . . xreturn