try-catch-finally (C# Reference)
A common usage of catch and finally together is to obtain and use resources in a try block, deal with exceptional circumstances in a catch block, and release the resources in the finally block.
For more information and examples on re-throwing exceptions, see try-catch and Throwing Exceptions.
Example
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...
}
}
C# Language Specification
For more information, see the following sections in the C# Language Specification:
5.3.3.15 Try-catch-finally statements
8.10 The try statement
16 Exceptions
See Also
Tasks
How to: Explicitly Throw Exceptions
Concepts
Reference
The try, catch, and throw Statements
Exception Handling Statements (C# Reference)
using Statement (C# Reference)