पकड़ का एक आम उपयोग कोशिश करते हैं और अंत में एक साथ प्राप्त करने के लिए और एक कोशिश ब्लॉक में संसाधनों का उपयोग, एक कैच ब्लॉक में असाधारण परिस्थितियों से निपटने, और अंत में में संसाधनों जारी है ब्लॉक।
पुन: फेंकने वाले अपवादों पर अधिक जानकारी और उदाहरणों के लिए, try-catch और Throwing Exceptions देखें। अंत में ब्लॉक के बारे में अधिक जानकारी के लिए, try-finally देखें।
public class EHClass
{
void ReadFile(int index)
{
// To run this code, substitute a valid path from your local machine
string path = @"c:\users\public\test.txt";
System.IO.StreamReader file = new System.IO.StreamReader(path);
char[] buffer = new char[10];
try
{
file.ReadBlock(buffer, index, buffer.Length);
}
catch (System.IO.IOException e)
{
Console.WriteLine("Error reading from {0}. Message = {1}", path, e.Message);
}
finally
{
if (file != null)
{
file.Close();
}
}
// Do something with buffer...
}
}
स्रोत
2015-01-03 04:45:01
@ MatíasFidemraizer: मैं सभी प्रयोग के लिए हूं - लेकिन यह आपको जरूरी नहीं बताता कि भाषा क्या गारंटी देती है। ऐसी कई चीजें हैं जिन्हें आप प्रयोग द्वारा "खोज" सकते हैं जो भरोसा करना बुरा होगा। 'कोशिश {}: –
@JonSkeet मैं सामान्य शब्दों में बात कर रहा हूँ, नहीं अपने खुद के सुझाव (अपने लिंक) के बारे में है, लेकिन मेरा मतलब है कि जाँच कैसे की कोशिश/पकड़/अंत में सी # में काम करता है कुछ है कि तुम सिर्फ इस कोड के साथ की खोज कर सकते हैं पकड़ो {} अंत में {Trace.WriteLine ("मैं यहाँ हूँ!"); } 'उदाहरण के लिए :) –
@ MatíasFidemraizer: लेकिन यह मेरा मुद्दा है - जो आपको दिखाता है कि यह इस विशेष मामले में क्या करता है - लेकिन यह आपको कुछ भी नहीं बताता है कि क्या होता है (कहें) आप' try' block में वापस आते हैं। हां, प्रयोग अच्छा है - लेकिन मैं आम तौर पर जहां संभव हो वहां एक विनिर्देश पर भरोसा करना पसंद करता हूं। –