try-catch-finally
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

try-catch-finally

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.

Example

// try-catch-finally
using System;
public class EHClass 
{
   public static void Main () 
   {
      try 
      {
         Console.WriteLine("Executing the try statement.");
         throw new NullReferenceException();
      }

      catch(NullReferenceException e) 
      {
         Console.WriteLine("{0} Caught exception #1.", e); 
      }

      catch 
      {
         Console.WriteLine("Caught exception #2.");
      }

      finally 
      {
         Console.WriteLine("Executing finally block.");
      }
   }
}

Output

Executing the try statement.
System.NullReferenceException: Attempted to dereference a null object reference.
   at EHClass.Main() Caught exception #1.
Executing finally block.

For more information and examples on rethrowing exceptions, see try-catch, 8.10 The try statement and Throwing Exceptions.

See Also

C# Keywords | Compare to C++ | Exception Handling Statements | throw | Throwing Exceptions | C. Grammar

Show:
© 2016 Microsoft