आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

सॉफ़्टवेयर विकास चक्र में त्रुटि प्रबंधन एक बार-बार किए जाने वाले कार्यों में से एक है। यह अच्छी प्रोग्रामिंग का एक महत्वपूर्ण पहलू है। त्रुटि से निपटने के लिए गो अपने अंतर्निहित तंत्र के साथ एक सरल और उपयोग में आसान तरीका अपनाता है। यह फ़ंक्शन और विधियों से रिटर्निंग एरर पर आधारित है, जो आपको कोड कार्यक्षमता पर ध्यान केंद्रित करने में सक्षम बनाता है जो सहज और पढ़ने में आसान है।

आप स्पष्ट रूप से गो में त्रुटियों को संभालते हैं, जिसके परिणामस्वरूप प्रतिक्रिया के लिए एक ठोस रूपरेखा तैयार होती है, जिसमें लगातार तर्क को लागू करने की क्षमता होती है। त्रुटियाँ पैकेज त्रुटि से निपटने के लिए अतिरिक्त कार्यक्षमता प्रदान करता है।

त्रुटि पैकेज

त्रुटि पैकेज गो के मानक पुस्तकालय में पैकेजों में से एक है। पैकेज गो कोड में लगातार त्रुटियों को बनाने और हेरफेर करने के लिए सरल त्रुटि-हैंडलिंग आदिम और कार्यात्मकता प्रदान करता है।

पैकेज प्रदान करता है नया कस्टम त्रुटि संदेशों के साथ त्रुटियां पैदा करने के लिए कार्य करता है जिसे आप किसी भी अंतर्निहित त्रुटि प्रकार के रूप में उपयोग कर सकते हैं, जैसे कि

instagram viewer
शून्य और गलती की विधि गलती इंटरफेस।

त्रुटियाँ पैकेज त्रुटियों को लपेटने और खोलने के लिए कार्यक्षमता भी प्रदान करता है, त्रुटियों पर प्रकार के अभिकथन के लिए एक विधि।

आप आयात कर सकते हैं त्रुटियाँ आयात कीवर्ड के साथ पैकेज। बस अपने आयात की सूची में पैकेज का नाम निर्दिष्ट करें।

आयात"गलतियाँ"

गो में त्रुटियों को पकड़ना और संभालना

गो में बुनियादी त्रुटि से निपटने का ज्ञान इसे समझने की नींव रखता है त्रुटियाँ पैकेट। फ़ंक्शंस और विधियाँ त्रुटियाँ लौटाती हैं जो एक संसाधन के साथ होती हैं।

यहां बिल्ट-इन के साथ फाइल ओपनिंग ऑपरेशन से एरर हैंडलिंग का एक उदाहरण दिया गया है ओएस पैकेट।

पैकेट मुख्य

आयात (
"एफएमटी"
"ओएस"
)

समारोहमुख्य() {
फ़ाइल, त्रुटि: = os. खुला("फ़ाइलनाम.txt")

अगर गलती! = शून्य {
fmt. प्रिंट्लन (इरेट)
}

// ...
}

खुला की विधि ओएस पैकेज तब उपयोगी होता है जब गो में पाठ फ़ाइलों के साथ काम करना. यह एक फ़ाइल खोलता है, एक खुली फ़ाइल आवृत्ति लौटाता है और a गलती.

त्रुटि मान हो सकता है शून्य प्रकार, कोई त्रुटि नहीं दर्शाता है। हालांकि, आप एक गैर-शून्य मामले की जांच कर सकते हैं और मौजूद होने पर त्रुटि को संभाल सकते हैं। उपरोक्त मामले में, यदि ब्लॉक त्रुटि को प्रिंट करता है।

आप एक्सेस कर सकते हैं गलती त्रुटि के बारे में अधिक जानकारी निकालने के लिए त्रुटि की विधि (आमतौर पर एक विवरण)।

अगर गलती! = शून्य {
fmt. प्रिंट्लन (इरेट। गलती())
}

उदाहरण के लिए, यदि फ़ाइल मौजूद नहीं है, तो आपको एक त्रुटि संदेश दिखाई देगा जो कुछ इस तरह दिखाई देगा:

गो में त्रुटियां पैदा करना

आप के साथ त्रुटियाँ बना सकते हैं नया की विधि त्रुटियाँ पैकेट। यह विधि एक स्ट्रिंग संदेश लेती है और सामने आई त्रुटियों को लौटाती है।

आयात"गलतियाँ"

समारोहमुख्य() {
त्रुटि: = त्रुटियाँ। नया("कुछ गलत हो गया")

अगर गलती! = शून्य {
// एरर हैंडलिंग कोड यहां जाता है
}
}

मुख्य फ़ंक्शन एक नई त्रुटि बनाता है और त्रुटि निर्माण से संभावित त्रुटियों को संभालता है अगर कथन।

आप गो में कस्टम एरर को भी परिभाषित कर सकते हैं। त्रुटि की कार्यक्षमता के आधार पर संरचना को लागू करने के लिए पारंपरिक विधि एक संरचना और एक त्रुटि फ़ंक्शन का उपयोग करती है।

पैकेट मुख्य

आयात"एफएमटी"

प्रकार कस्टम त्रुटि struct {
जानकारी डोरी
}

समारोहमुख्य() {
// उदाहरण संरचना की तात्कालिकता
त्रुटि: = कस्टम त्रुटि {
जानकारी: "कुछ गलत हो गया!",
}

// संरचना का उदाहरण आउटपुट करें
fmt. प्रिंट्लन (इरेट)
}

कस्टम त्रुटि संरचना त्रुटि के लिए खाका है, और जानकारी स्ट्रिंग फ़ील्ड में त्रुटि संदेश होगा।

आपके त्रुटि कार्य कार्यान्वित कर सकते हैं कस्टम त्रुटि संरचना और एक त्रुटि स्ट्रिंग वापस करें।

समारोह(सी कस्टम त्रुटि)गलती()डोरी {
वापस करना fmt. स्प्रिंटफ("एक कस्टम त्रुटि हुई: %v", सीई.इन्फो)
}

गलती की विधि कस्टम त्रुटि संरचना का उपयोग कर एक स्ट्रिंग देता है fmt पैकेज की Sprintf स्वरूपण विधि.

गो में रैपिंग और अनरैपिंग एरर

आप त्रुटियों को लपेटकर उनमें और प्रासंगिक जानकारी जोड़ सकते हैं। डिबगिंग में सटीकता के लिए स्पष्ट त्रुटि संदेश बनाने के लिए आप मुख्य रूप से लिपटे त्रुटियों का उपयोग करेंगे।

आप उपयोग कर सकते हैं त्रुटिच की विधि fmt पैकेज जो त्रुटियों को लपेटने के लिए त्रुटि संदेशों को स्वरूपित करने के लिए कार्यक्षमता प्रदान करता है। त्रुटिच विधि एक स्ट्रिंग और स्ट्रिंग स्वरूपण क्रिया और त्रुटि लेती है और लिपटे त्रुटि को वापस करती है।

आयात (
"एफएमटी"
"ओएस"
)

समारोहमुख्य() {
_, गलती: = os. खुला("फ़ाइलनाम.txt")

अगर गलती! = शून्य {
लिपटे एर्र: = fmt. त्रुटिच("फ़ाइल खोलने में त्रुटि: %v", गलती)
fmt. Println (लपेटा एरर)
}
}

मुख्य फ़ंक्शन के साथ एक फ़ाइल खोलता है ओएस पैकेज का खुला विधि और त्रुटि को Errorf विधि के साथ लपेटता है fmt पैकेट। यह तब लिपटे त्रुटि को कंसोल पर आउटपुट करता है।

आप अपने प्रोग्राम में लपेटी गई त्रुटियों को इसके साथ खोल सकते हैं खोलना की विधि त्रुटियाँ पैकेट। खोलना विधि लिपटे त्रुटि में लेती है और अलिखित त्रुटि को वापस करती है।

आयात (
"एफएमटी"
"ओएस"
"गलतियाँ"
)

समारोहमुख्य() {
_, गलती: = os. खुला("फ़ाइलनाम.txt")

अगर गलती! = शून्य {
लिपटे एर्र: = fmt. त्रुटिच("फ़ाइल खोलने में त्रुटि: %v", गलती)
अलिखित एरर: = त्रुटियाँ। अनरैप (लपेटा हुआ एरर)
fmt. Println (अलिखित त्रुटि)
}
}

मुख्य फ़ंक्शन फ़ाइल खोलने के ऑपरेशन से त्रुटि को लपेटता है, और अलिखितErr चर अलिखित त्रुटि रखता है।

इन तृतीय-पक्ष लॉगिंग पैकेज के साथ अपनी त्रुटि रिपोर्ट लॉग करें

आपको अपनी एप्लिकेशन डेवलपमेंट प्रक्रिया के दौरान बाद की समीक्षाओं, डिबगिंग और अन्य कार्यों के लिए कुछ त्रुटियों को लॉग करना होगा। आप उपयोग कर सकते हैं गाली मार देना Uber, Logrus, Zerolog द्वारा पैकेज, और तेज़, संरचित लॉगिंग के लिए Log15 पैकेज।