当前位置: 首页 > news >正文

HarmonyOS — BusinessError 不能被 JSON.stringify转换

在鸿蒙中BusinessError 继承于Error,而在JavaScript(以及TypeScript,因为它是JavaScript的超集)中,Error 对象包含一些不能被 JSON.stringify 直接序列化的属性。JSON.stringify 方法会将一个JavaScript对象或者值转换为一个JSON字符串,但是它只接受能够被序列化为有效JSON格式的属性。

Error 对象通常包含一些非枚举属性(如 stack 和 message),其中 stack 属性是一个包含调用堆栈信息的字符串,而 message 属性则包含关于错误的简短描述。尽管这些属性看起来应该可以被序列化,但 JSON.stringify 默认行为并不会处理这些非枚举属性。

然而,实际上 message 属性通常是可以被 JSON.stringify 捕获的,因为它是可枚举的。但是,stack 属性可能因JavaScript引擎的实现而异,并且可能不是所有环境下都是可枚举的。

此外,Error 对象可能还包含其他非枚举或不可序列化的属性,比如函数、循环引用或者 undefined 值等,这些都不能被 JSON.stringify 直接处理。

Debug 代码发现 Error 对象包含了 一个 function 以及一个 可能无法序列化的 stack

http://www.lryc.cn/news/321370.html

相关文章:

  • JupyterNotebook 如何切换使用的虚拟环境kernel
  • 预防GPT-3和其他复杂语言模型中的“幻觉”
  • 从源码解析AQS
  • 基于Spring Boot的云上水果超市的设计与实现
  • 游戏引擎中的动画基础
  • springboot3快速入门案例2024最新版
  • 软考 系统架构设计师系列知识点之系统性能(1)
  • Trent-FPGA硬件设计课程
  • 【大模型学习记录】db-gpt源码安装问题汇总
  • QB PHP 多语言配置
  • Kubernetes实战(三十一)-使用开源CEPH作为后端StorageClass
  • 【Python爬虫】详解BeautifulSoup()及其方法
  • C语言经典算法-8
  • Panasonic松下PLC如何数据采集?如何实现快速接入IIOT云平台?
  • 高性能 MySQL 第四版(GPT 重译)(四)
  • 整型数组按个位值排序 - 华为OD统一考试(C卷)
  • 【React】Diff算法
  • 【物联网】Modbus 协议及应用
  • Docker容器引擎
  • 2.28线程
  • TCP/IP ⽹络模型
  • 云原生:重塑未来应用的基石
  • 蓝桥杯day4刷题日记
  • [Qt学习笔记]Qt下使用Halcon实现采图时自动对焦的功能(Brenner梯度法)
  • 常州IGM机器人RTE497的日常维修保养方法
  • 如何利用机器学习和Python编写预测模型来预测设备故障
  • mysql部署(2)主从复制
  • FX-数组的使用
  • springboot283图书商城管理系统
  • FFmpeg-- c++实现:音频流aac和视频流h264封装