एक वैकल्पिक एक अस्थायी चर में वापसी मान स्टोर करने के लिए किया जाएगा:
public bool SomeFunction()
{
bool success = true;
try
{
//somecode
}
catch(Exception ex)
{
MessageBox.Show(ex.message);
success = false;
}
return success;
}
लेकिन व्यक्तिगत रूप से, मैं जिस तरह से आप पाते हैं इसे और अधिक पठनीय होने के लिए लिखा है (एक पकड़-पकड़ पकड़ने के साथ)। दूसरी ओर, यदि आप किसी विशिष्ट अपवाद की उम्मीद कर रहे हैं और आप सफलता या नहीं लौटने के लिए अनेक पथों हो सकता है ...
try
{
DoTheImportantThing();
DoTheOtherThingThatMightFailButWeDontCare();
}
catch (DontCareAboutItException ex)
{
log.Info(ex);
}
catch (Exception ex)
{
log.Error(ex);
return false;
}
return true;
तो मेरी राय में आप के करीब के रूप में वापसी बयान धक्का बंद सबसे अच्छा कर रहे हैं जितना संभव हो अंत।
एप्लिकेशन के आधार पर एक साइड नोट के रूप में, उपयोगकर्ता को दिखाए जाने के बजाय आपके द्वारा प्राप्त अपवादों को लॉगिंग करने पर विचार करें। लॉग अप अपवादों के बारे में उपयोगकर्ता के रिकॉर्ड्स की तुलना में बहुत अधिक विश्वसनीय हैं।
स्रोत
2010-04-22 10:53:32
यह भी देखें: http://stackoverflow.com/questions/2373560/return-statements-in-catch-blocks, http: // stackoverflow.com/questions/449099/is-it-bad-practice-to-return-from-within-a-try-catch-finally-block, http://stackoverflow.com/questions/1713388/in-the- कोशिश-पकड़-ब्लॉक-यह-खराब-से-वापसी-अंदर-पकड़-जो-अच्छा-व्यावहारिक – outis
यह ठीक है, क्यों नहीं? – Andrey