更新:2007 年 11 月

catchfinally 一起使用的常见方式是:在 try 块中获取并使用资源,在 catch 块中处理异常情况,并在 finally 块中释放资源。

有关重新引发异常的更多信息和示例,请参见 try-catch“引发异常”

示例

C# 复制代码
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# 语言规范

有关更多信息,请参见 C# 语言规范中的以下各章节:

  • 5.3.3.15 Try-catch-finally 语句

  • 8.10 try 语句

  • 16 异常

请参见

任务

如何:显式引发异常

概念

参考

The try, catch, and throw Statements

其他资源