uni-app jscrash异常,原因:Generated by HiviewDFX@OpenHarmony at anonymous

发布于 1周前 作者 yuanlaile 来自 Uni-App

uni-app jscrash异常,原因:Generated by HiviewDFX@OpenHarmony at anonymous

产品分类:

uniapp/App

PC开发环境

操作系统 版本号
Mac 12.6.1

HBuilderX

类型 版本号
正式 4.32

手机系统

手机系统 版本号 手机厂商 手机机型
HarmonyOS NEXT HarmonyOS NEXT Developer Beta2 华为 Mate60 Pro

页面类型

类型 版本
vue vue3

打包方式

离线

项目创建方式

HBuilderX

bug描述:

提交华为审核时,检测出问题,麻烦看看什么原因导致的

您的应用存在以下问题,为不影响后续版本的正常发布,请在下个版本修复。

您的应用被系统检测出问题,不符合华为应用市场《审核指南》第3.1项。

测试步骤:稳定性:jscrash异常,原因:Generated by HiviewDFX@OpenHarmony___at anonymous (entry|@dcloudio/uni-mp-sdk|1.0.0|sdk.js:698:1)

测试环境:Wi-Fi联网、中文环境、Mate60 Pro。


5 回复

我也遇到了 https://ask.dcloud.net.cn/question/202970 版本稍有差异,单几乎如出一辙,被拒了2次


您好,解决了没,我也遇到这种问题了

官方给的,零时解决方案,可以手动放到lib下再打包。

我们提交华为后,和华为反馈后,官方忽略了这个问题让我们上架了,后续好像没有检测到这个错误

在处理uni-app中的jscrash异常,特别是遇到由HiviewDFX@OpenHarmony生成的匿名异常时,通常意味着JavaScript代码在执行过程中遇到了问题。由于OpenHarmony系统特有的HiviewDFX框架用于异常捕获和日志记录,这类异常往往与系统环境或特定API的使用不当有关。

虽然无法直接提供针对特定“anonymous”异常的解决方案(因为异常的具体原因未知),但以下是一些通用的代码示例和调试策略,帮助你定位和解决问题:

1. 异常捕获与处理

在JavaScript中,使用try...catch语句来捕获和处理可能的异常,是避免程序崩溃的有效方法。

try {
    // 可能抛出异常的代码
    someRiskyFunction();
} catch (error) {
    console.error('捕获到异常:', error);
    // 进行异常处理,如记录日志、显示错误提示等
}

2. 使用Promise的错误处理

对于异步操作,确保使用.catch()来处理Promise中可能抛出的异常。

someAsyncFunction()
    .then(result => {
        // 处理结果
    })
    .catch(error => {
        console.error('异步操作异常:', error);
    });

3. 检查第三方库和系统API的兼容性

由于OpenHarmony可能与标准的Web API有所不同,确保你使用的第三方库或系统API与OpenHarmony兼容。查阅OpenHarmony的官方文档,了解API的差异和限制。

4. 日志记录

增强日志记录,特别是在调用可能出问题的API前后。这有助于确定问题发生的具体位置。

console.log('开始调用someRiskyFunction');
try {
    someRiskyFunction();
    console.log('someRiskyFunction执行成功');
} catch (error) {
    console.error('someRiskyFunction执行失败:', error);
}

5. 静态代码分析

使用ESLint等静态代码分析工具,可以帮助发现潜在的代码问题,如未声明的变量、未捕获的异常等。

6. 调试工具

利用OpenHarmony提供的开发者工具和调试器,设置断点、单步执行代码,观察变量状态,以更深入地理解异常发生的上下文。

通过上述方法,结合对具体异常信息的分析(尽管这里是匿名的),你可以逐步缩小问题范围,最终找到并解决引起jscrash异常的根本原因。在实际操作中,确保你的开发环境和目标设备(如果适用)都已更新到最新版本,以减少因版本差异导致的问题。

回到顶部