How to: Handle an Exception Using try/catch (C# Programming Guide)
The purpose of a try-catch block is to catch and handle an exception generated by working code. Some exceptions can be handled in a catch block and the problem solved without the exception being re-thrown; however, more often the only thing you can do is make sure the appropriate exception is thrown.
Example
In this example, IndexOutOfRangeException is not the most appropriate exception: ArgumentOutOfRangeException makes more sense for the method.
class TestTryCatch
{
static int GetInt(int[] array, int index)
{
try
{
return array[index];
}
catch (System.IndexOutOfRangeException e) // CS0168
{
System.Console.WriteLine(e.Message);
throw new System.ArgumentOutOfRangeException("index", "Parameter is out of range.");
}
}
}
Comments
The code that results in an exception is enclosed in the try block. A catch statement is added immediately after to handle IndexOutOfRangeException
, if it occurs. The catch block handles the IndexOutOfRangeException
and throws the more appropriate ArgumentOutOfRangeException
exception instead.
See Also
Reference
Exceptions and Exception Handling (C# Programming Guide)
Exception Handling (C# Programming Guide)