मैं सी # में काम करता हूं, इसलिए मैंने इसे सी # के तहत पोस्ट किया है, हालांकि यह एक प्रश्न हो सकता है जिसका उत्तर किसी भी प्रोग्रामिंग भाषा में दिया जा सकता है।अर्थपूर्ण वापसी मान वापस लौटने के तरीके
कभी-कभी मैं एक ऐसी विधि तैयार करूंगा जो उपयोगकर्ता को वेबसाइट पर लॉग इन करने जैसा कुछ करे। अक्सर बार मैं विधि से एक बूलियन लौटाता हूं, लेकिन यह अक्सर समस्याओं का कारण बनता है क्योंकि एक बूलियन रिटर्न वैल्यू किसी भी संदर्भ को व्यक्त नहीं करता है। यदि उपयोगकर्ता को लॉग इन करते समय कोई त्रुटि उत्पन्न होती है तो मुझे यह जानने का कोई तरीका नहीं है कि त्रुटि का कारण क्या है।
यहाँ एक विधि है कि मैं इस समय का उपयोग का एक उदाहरण है, लेकिन इतना बदलने के लिए कि यह सिर्फ 0 या 1.
public bool LoginToTwitter(String username, String password)
{
// Some code to log the user in
}
उपरोक्त विधि की तुलना में अधिक रिटर्न केवल सही है या गलत लौट सकते हैं करना चाहते हैं। यह अच्छी तरह से काम करता है क्योंकि मैं सिर्फ निम्नलिखित कॉल कर सकते हैं:।
if(http.LoginToTwitter(username, password))
{
// Logged in
} else {
// Not Logged in
}
लेकिन समस्या यह है कि मैं जानते हुए भी क्यों उपयोगकर्ता के लॉग इन नहीं किया गया था का कोई तरीका नहीं कारणों की एक संख्या मौजूद हो सकता है है जैसे: गलत उपयोगकर्ता नाम/पासवर्ड संयोजन, निलंबित खाता, खाते के लिए उपयोगकर्ताओं के ध्यान आदि की आवश्यकता होती है लेकिन निम्नलिखित विधि और तर्क का उपयोग करके, यह जानना संभव नहीं है।
मेरे पास कौन से वैकल्पिक दृष्टिकोण हैं?
नई त्रुटि स्थिति कब हुई तो क्या खुशी हुई। @ डैन? – xhamr
@jvra यदि कोई अप्रत्याशित अपवाद हैं, तो मेरा मानना है कि उन्हें फिर से फेंक दिया जाना चाहिए क्योंकि कुछ अन्य उत्तरों संकेत देते हैं। हालांकि, आपका कोड सभी अपेक्षित मामलों को संभालने में सक्षम होना चाहिए: गलत उपयोगकर्ता नाम, गलत पासवर्ड, खाता निलंबन, आदि ... और उन अनुप्रयोगों को अपने आवेदन के लिए एनम में वापस करने के लिए वापस कर दें। –
लेकिन तथ्य यह है कि, जब आप अन्य त्रुटि enum को संभालना चाहते हैं। आपका कोड बढ़ने के रूप में आपका कोड बढ़ सकता है। लेकिन अगर आप जानते हैं कि भविष्य में आप अधिक स्थिरांक enum नहीं हो सकता है तो एक स्वीकार्य है। – xhamr