try try-block finally finally-block
其中: try-block 
包含应引发异常的代码段。 
finally-block 
包含异常处理程序和清理代码。 
备注
catch 用于处理语句块中出现的异常,而 finally 用于保证代码语句块的执行,与前面的 try 块的执行方式无关。示例
在此例中,有一个导致异常的无效转换语句。当运行程序时,您收到一条运行时错误信息,但 finally 子句仍继续执行并显示输出。// try-finally
using System;
public class TestTryFinally 
{
   public static void Main() 
   {
      int i = 123;
      string s = "Some string";
      object o = s;      try 
      {
         // Invalid conversion; o contains a string not an int
         i = (int) o;   
      }      finally 
      {
         Console.Write("i = {0}", i);
      }         
   }
}
输出
发生以下异常:System.InvalidCastException
尽管捕捉了异常,但仍会执行包括在 finally 块中的输出语句,即:i = 123