GET_ERROR_INFO
有效对象
提取和复制
说明
使用 GET_ERROR_INFO 函数可检索与放弃记录关联的错误信息。用户出口可以在定制错误处理逻辑中使用此信息。例如,用户出口可能会发送包含详细错误信息的电子邮件。
如果使用 SET_SESSION_CHARSET 将用户出口的字符会话设置为 ucharset.h 文件的 ULIB_CS_DEFAULT 中定义的操作系统默认字符集以外的值,则将在会话字符集中解释在用户出口和进程之间交换的消息数据。
语法
#include "usrdecs.h"
short result_code;
error_info_def error_info;
ERCALLBACK (GET_ERROR_INFO, &error_info, &result_code);
缓冲区
typedef struct
{
long error_num;
char *error_msg;
long max_length;
long actual_length;
short msg_truncated;
} error_info_def;
输入
<error_msg>
指向缓冲区的指针,用于接受返回的错误消息。
<max_length>
分配的 error_msg 缓冲区的最大长度,用于接受任何生成的错误消息。这以 NULL 终止的字符串形式返回。
输出
<error_num>
与丢弃的记录关联的 SQL 或系统错误号。
<error_msg>
指向与放弃的记录关联的以 null 结尾的错误消息字符串的指针。
<actual_length>
错误消息的长度,不包括空终止符。
<msg_truncated>
指示错误消息是否被截断的标志(0 或 1)。如果错误消息的长度加上空终止符超过最大缓冲区长度,则会发生截断。
返回值
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_OK