首頁 > web前端 > js教程 > 為什麼 JSON.stringify 在序列化錯誤時回傳空物件?

為什麼 JSON.stringify 在序列化錯誤時回傳空物件?

Mary-Kate Olsen
發布: 2024-12-02 15:55:11
原創
857 人瀏覽過

Why Does JSON.stringify Return an Empty Object When Serializing an Error?

使用 JSON.stringify 字串化錯誤是否不可能?

嘗試使用 JSON.stringify 序列化錯誤實例會導致空物件。此行為是由錯誤的隱藏屬性描述符引起的。

為什麼 JSON.stringify 失敗:

錯誤實例的屬性描述符設定為 enumerable: false,防止它們屬性被包含在字串化中。

探索屬性和描述符:

輸出:

使用Object.getOwnPropertyNames 的解決方法:

使用Object.getOwnPropertyNames 的解決方法:

使用Object.getOwnPropertyNames 的解:

要在字串化中包含錯誤屬性,使用JSON.stringify(錯誤, Object.getOwnPropertyNames(錯誤))。這提供了對不可枚舉屬性的存取。

  • 其他解決方法:
  • 自訂錯誤物件:建立自訂錯誤物件具有所需的屬性並序列化它們。
屬性提取: 使用 error.stack 和 error.message 手動提取特定錯誤屬性。

以上是為什麼 JSON.stringify 在序列化錯誤時回傳空物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板