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