昇腾社区首页
中文
注册
开发者
下载

ReportPredefinedErrMsg

函数功能

用于上报CANN预定义好的用户类错误信息。

函数原型

  • 不带参数的错误码信息:
    int32_t ReportPredefinedErrMsg(const char *error_code)
  • 带参数的错误码信息:
    int32_t ReportPredefinedErrMsg(const char *error_code, const std::vector<const char *> &key, const std::vector<const char *> &value)

针对该接口,还提供了封装该接口的宏REPORT_PREDEFINED_ERR_MSG,宏定义如下:

#define REPORT_PREDEFINED_ERRMSG_CHOOSER(_1, _2, _3, NAME, ...) NAME
#define REPORT_PREDEFINED_ERRMSG_1PARAMS(error_code) error_message::ReportPredefinedErrMsg(error_code)
#define REPORT_PREDEFINED_ERRMSG_3PARAMS(error_code, key, value)                                                       \
  error_message::ReportPredefinedErrMsg((error_code), (key), (value))
#define REPORT_PREDEFINED_ERR_MSG(...)                                                                                 \
  REPORT_PREDEFINED_ERRMSG_CHOOSER(__VA_ARGS__, REPORT_PREDEFINED_ERRMSG_3PARAMS, ,                                    \
                                   REPORT_PREDEFINED_ERRMSG_1PARAMS)(__VA_ARGS__)

参数说明

参数名

输入/输出

说明

error_code

输入

错误码以6位字符形式体现,例如E10001,其中,第1位表示级别,分为E、W、I,分别表示错误、告警、提示类;第2位表示模块;后4位表示错误码,0000~8999为用户类错误。

CANN预定义好的用户类错误在“${INSTALL_DIR}/runtime/conf/error_manager/error_code.json”文件中可查看。${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。

key

输入

预定义的参数。

每个错误码支持的参数可查看error_code.json文件中的Arglist字段。

value

输入

参数key中参数对应的实际值。

这些实际值会替换error_code.json文件中ErrMessage字段的占位符,得到最终的错误码信息。

返回值

  • 0:成功。
  • -1:失败。