गोलांग JSON मार्शलिंग में त्रुटि प्रबंधन
JSON डेटा संरचनाएं चक्रीय संदर्भों का प्रतिनिधित्व नहीं कर सकती हैं, और Go का json.Marshal फ़ंक्शन उन्हें संभाल नहीं सकता है। परिणामस्वरूप, मार्शल को चक्रीय संरचनाओं को पारित करने से अनंत पुनरावृत्ति और रनटाइम घबराहट होती है।
चक्रीय संरचनाओं से परे, json.Marshal उन स्थितियों में गैर-शून्य त्रुटियां भी लौटा सकता है जहां यह असमर्थित प्रकारों या अमान्य मानों का सामना करता है।
असमर्थित प्रकार
मार्शल एक लौटाता है असमर्थित डेटा प्रकार को मार्शल करने का प्रयास करते समय UnsupportedTypeError। उदाहरण के लिए:
import "encoding/json"
func main() {
ch := make(chan int)
_, err := json.Marshal(ch)
if _, ok := err.(*json.UnsupportedTypeError); ok {
// Error: Unmarshal: unsupported type: chan int
}
}
असमर्थित मान
अमान्य मान को मार्शल करने का प्रयास करते समय मार्शल एक UnsupportedValueError भी लौटा सकता है। उदाहरण के लिए:
import (
"encoding/json"
"math"
)
func main() {
positiveInfinity := math.Inf(1)
_, err := json.Marshal(positiveInfinity)
if _, ok := err.(*json.UnsupportedValueError); ok {
// Error: json: unsupported value: Inf
}
}
इन शर्तों को समझकर, डेवलपर्स त्रुटियों को शालीनता से संभाल सकते हैं और यह सुनिश्चित कर सकते हैं कि json.Marshal अपेक्षित परिणाम देता है या उचित त्रुटियों को संभालता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3