


पिनकेस: जंग में त्रुटियों को संभालने का एक प्रकार-सुरक्षित और अभिव्यंजक तरीका
पिनकेस रस्ट में त्रुटियों को संभालने का एक प्रकार-सुरक्षित और अभिव्यंजक तरीका है। यह आपको आपके फ़ंक्शन में होने वाली त्रुटियों के प्रकार को निर्दिष्ट करने की अनुमति देता है, और उन त्रुटियों को संरचित और पूर्वानुमानित तरीके से संभालने का एक तरीका प्रदान करता है। रस्ट में, फ़ंक्शन टुपल्स या एरे का उपयोग करके एक साथ कई मान लौटा सकते हैं। हालाँकि, इससे टाइप-सुरक्षित तरीके से त्रुटियों को संभालना मुश्किल हो सकता है, क्योंकि आपको यह जानना होगा कि कितने मान लौटाए जा रहे हैं और वे किस प्रकार के हैं। PinCase आपको होने वाली त्रुटियों के प्रकारों को निर्दिष्ट करने की अनुमति देकर और उन त्रुटियों को संरचित और पूर्वानुमानित तरीके से संभालने का एक तरीका प्रदान करके इस समस्या को हल करने में मदद करता है। यहां एक उदाहरण दिया गया है कि PinCase का उपयोग कैसे किया जाता है:
```
fn my_function(x : i32) -> परिणाम<(), &str> {
मिलान x {
// सफलता का मामला
0 => ठीक(()),
// त्रुटि का मामला _ => त्रुटि("अमान्य इनपुट"),
}
}
```
इस उदाहरण में, `my_function` एक `i32` तर्क लेता है और या तो सफलता (`Ok(())`) या त्रुटि (`ERr('अमान्य इनपुट'') का `परिणाम' देता है। `पिनकेस` कीवर्ड का उपयोग होने वाली त्रुटियों के प्रकार को निर्दिष्ट करने के लिए किया जाता है। फिर आप अपने कोड में पिनकेस का उपयोग इस तरह कर सकते हैं:
```
let परिणाम = my_function(42);
मैच परिणाम {
ठीक(_) => println!("सफलता"),
त्रुटि("अमान्य इनपुट") => println!("त्रुटि"),
}
```
यह कोड "सफलता" प्रिंट करेगा यदि `my_function` `Ok(()) लौटाता है ` और "त्रुटि" यदि यह `ERr("अमान्य इनपुट")` लौटाता है। `पिनकेस` कीवर्ड आपको होने वाली त्रुटियों के प्रकार को निर्दिष्ट करने की अनुमति देता है, इसलिए आपको उन विशिष्ट प्रकार की त्रुटियों के बारे में चिंता करने की ज़रूरत नहीं है जो वापस आ सकती हैं।



