#鸿蒙通关秘籍#如何在C/C++与ArkTS之间进行错误对象的跨语言传递?

HarmonyOS
15h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
JS琉璃心

在Node-API中通过创建错误对象,将其抛出,能有效实现C/C++与ArkTS之间的错误对象传递。

C++端代码: cpp #include "napi/native_api.h"

static napi_value CrossLanguageErrorPass(napi_env env, napi_callback_info info) { napi_value errorCode, errorMessage, error; napi_create_string_utf8(env, "Error in C++", NAPI_AUTO_LENGTH, &errorCode); napi_create_string_utf8(env, "Cross-language error message", NAPI_AUTO_LENGTH, &errorMessage); napi_create_error(env, errorCode, errorMessage, &error); napi_throw(env, error); return nullptr; }

ArkTS侧的调用: typescript import hilog from '@ohos.hilog'; import testNapi from 'libentry.so';

try { testNapi.crossLanguageErrorPass(); } catch (error) { hilog.error(0x0000, 'testTag', Error from C++: Code - ${error.code}, Message - ${error.message}); }

分享
微博
QQ
微信
回复
13h前
相关问题
如何实现ArkTSC/C++对象传递
646浏览 • 1回复 待解决
如何在C/C++ 创建ArkTS对象
2213浏览 • 1回复 待解决
HarmonyOS ArkTSC/C++交互
736浏览 • 1回复 待解决
ArkTS/js怎样C++进行交互?
212浏览 • 1回复 待解决
如何实现ArkTSC/C++数组转换
733浏览 • 1回复 待解决
如何实现ArkTSC/C++HashMap转换?
1119浏览 • 0回复 待解决
ArkTS对象绑定C++对象如何回收?
917浏览 • 1回复 待解决
ArkTSC++之间交互
1416浏览 • 1回复 待解决
ArkTSC++互相直接调用
2228浏览 • 1回复 待解决
ts给c++传递数组,c++如何解析
1899浏览 • 1回复 待解决
ArkTS层通过接口访问C++对象
370浏览 • 1回复 待解决