मेरे पास ऐसी परिस्थितियों में अपवाद हैंडलिंग का उपयोग करने के दक्षता परिणामों के बारे में एक काल्पनिक प्रश्न है जहां कोई अपवाद नहीं फेंक दिया जाता है।कुछ भी नहीं फेंकने पर अपवाद दक्षता
सबसे पहले इस सी # पर एक नज़र डालें:
int simpleSimon, cautiousCarol, dangerousDave;
try
{
simpleSimon = int.Parse("fail");
}
catch
{
simpleSimon = 1;
}
try
{
cautiousCarol = int.Parse("1");
}
catch
{
cautiousCarol = 1;
}
dangerousDave = int.Parse("1");
मुझे विश्वास है कि डेव कोड सबसे तेजी से/सबसे कारगर हो जाएगा हूँ; जबकि साइमन को अपवाद फेंकने के लिए एक बड़ा जुर्माना लगाया जाएगा।
लेकिन कैरोल के बारे में क्या? जैसे ही उसने कोई अपवाद नहीं फेंक दिया वह जुर्माना लगाती है? यदि हां, तो किस तरह और कितना बड़ा? (प्रदर्शन जुर्माना या अतिरिक्त स्मृति उपयोग या कुछ और?)
परिवर्तनीय नामों के लिए +1! – JonH
संभावित डुप्लिकेट [सी # में 'कोशिश' की प्रदर्शन लागत (http://stackoverflow.com/questions/867017/performance-cost-of-try-in-c) –