CRI ADX  Last Updated: 2024-07-17 10:48 p
错误回调

示例目录

/cri/pc/samples/criatomex/error_callback


示例描述

提供 错误回调 ,作为检测CRI Atom发生的错误的功能。 可以注册在应用程序端定义的回调函数, 在应用程序端执行错误ID、错误消息、错误对策。
#define SMP_ERROR_STR_LENGTH -256
static CriChar8 g_smp_error_msg[SMP_ERROR_STR_LENGTH];
{
/* 注册错误回调函数 */
criErr_SetCallback(user_error_callback_func);
/* 初始化程序库 */
criAtomEx_Initialize(NULL, NULL, 0);
:
:
:
}
/* 错误回调函数 */
static void user_error_callback_func(const Char8 *errid, Uint32 p1, Uint32 p2, Uint32 *parray)
{
const Char8 *errmsg;
UNUSED(parray);
/* 显示错误字符串 */
errmsg = criErr_ConvertIdToMessage(errid, p1, p2);
criFwPrt_DebugPrintf("%s\n", errmsg);
/* 在应用程序端的全局区域保存错误消息 */
/* 备注)错误回调也可能在主线程之外发生,
* 因此在访问全局资源时需要注意独占控制。
*/
smputl_strcpy(g_smp_error_msg, errmsg);
return;
}
CriBool criAtomEx_Initialize(const CriAtomExConfig *config, void *work, CriSint32 work_size)
Initialize the library
const CriChar8 * criErr_ConvertIdToMessage(const CriChar8 *errid, CriUint32 p1, CriUint32 p2)
Convert error ID to error message
void criErr_SetCallback(CriErrCbFunc cbf)
Register error callback function


发生错误回调的错误通常都是致命错误。发生错误时不可放任不管, 应排除错误。


如果不清楚如何处理错误,请联系CRI技术支持。


示例使用的数据中AtomCraft项目的目录

/cri/tools/criatomex/examples/tutorial_data_for_runtime