RX_GET_HALTINFO

Returns information about fatal xfServerPlus errors

WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
xcall RX_GET_HALTINFO(netid, halt_err_descriptor)

Arguments

netid

Network connection ID corresponding to the value set by %RX_START_REMOTE. (n)

halt_err_descriptor

A record containing the fields in the remote fatal packet. The record format is

group rx_fatalerror
   subroutine_name      ,a32
   error_line_number    ,i4
   error_num            ,i4
   sys_error_number     ,i4
   prog_name            ,a128
   error_text           ,a128
endgroup

Discussion

You can call RX_GET_HALTINFO to get more information about a fatal runtime error generated during an %RXSUBR call. See the record format in the example below for information returned.

In the event of a fatal 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, a runtime error is signaled on the client, and the session is aborted.

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_FATAL_DEF
record haltinforec
.include "DBLDIR:rxerr.def"
.undefine RX_FATAL_DEF

Error handling code:

onerror ($ERR_XFHALT) handle_fatal     ;trap fatal errors
     xcall rxsubr(netid, "methodid", arg1, arg2, arg3)
offerror
.
.
.
handle_fatal,
     xcall RX_GET_HALTINFO(netid, haltinforec)
     xcall mylogfunc(haltinforec)
     xreturn