try-catch-finally (C# リファレンス)
更新 : 2007 年 11 月
通常、catch および finally は、try ブロックのリソースを取得して使用する場合に、対で記述されます。catch ブロックで例外的な状況を処理し、finally ブロックでリソースを解放します。
例外の再スローの詳細および例については、「try-catch」および「例外のスロー」を参照してください。
使用例
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