"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > किसी त्रुटि को क्रमबद्ध करते समय JSON.stringify एक खाली ऑब्जेक्ट क्यों लौटाता है?

किसी त्रुटि को क्रमबद्ध करते समय JSON.stringify एक खाली ऑब्जेक्ट क्यों लौटाता है?

2025-01-21 को प्रकाशित
ब्राउज़ करें:653

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

क्या JSON.stringify का उपयोग करके किसी त्रुटि को स्ट्रिंग करना असंभव है?

JSON.stringify का उपयोग करके एक त्रुटि उदाहरण को क्रमबद्ध करने का प्रयास करने पर एक खाली ऑब्जेक्ट उत्पन्न होता है। यह व्यवहार त्रुटि के छिपे हुए प्रॉपर्टी डिस्क्रिप्टर से उत्पन्न होता है। गुणों को स्ट्रिंगिफिकेशन में शामिल किए जाने से।

गुणों की खोज और वर्णनकर्ता:

const त्रुटि = नई त्रुटि('नमूना संदेश'); स्थिरांक संपत्तिनाम = ऑब्जेक्ट.getOwnPropertyNames(त्रुटि); propertiesNames.forEach(संपत्ति => कंसोल.लॉग(संपत्ति, ऑब्जेक्ट.getOwnPropertyDescriptor(त्रुटि, संपत्ति)));

आउटपुट:स्टैक { प्राप्त करें: [फ़ंक्शन], सेट: [फ़ंक्शन] ], गणना योग्य: गलत, विन्यास योग्य: सत्य } तर्क {मान: अपरिभाषित, लिखने योग्य: सत्य, गणना योग्य: गलत, विन्यास योग्य: सत्य } टाइप करें { मान: 'कस्टम संदेश', लिखने योग्य: सत्य, गणना करने योग्य: गलत, कॉन्फ़िगर करने योग्य: सत्य } संदेश { मान: 'कस्टम संदेश', लिखने योग्य: सत्य, गणना योग्य: गलत, विन्यास योग्य: सत्य }

const error = new Error('sample message');
const propertyNames = Object.getOwnPropertyNames(error);
propertyNames.forEach(property => console.log(property, Object.getOwnPropertyDescriptor(error, property)));
Object.getOwnPropertyNames का उपयोग करके समाधान:

stack { get: [Function], set: [Function], enumerable: false, configurable: true }
arguments { value: undefined, writable: true, enumerable: false, configurable: true }
type { value: 'custom message', writable: true, enumerable: false, configurable: true }
message { value: 'custom message', writable: true, enumerable: false, configurable: true }

कस्टम त्रुटि ऑब्जेक्ट: कस्टम त्रुटि ऑब्जेक्ट बनाएं वांछित गुणों के साथ और उन्हें क्रमबद्ध करें।

संपत्ति निष्कर्षण:
 error.stack और error.message का उपयोग करके मैन्युअल रूप से विशिष्ट त्रुटि गुण निकालें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3