第67章 finally節


try-catch構文を抜け出すときに、必ず実行したい処理をfinallyブロックに書くことができます。



tyr-catch構文の後ろに続けてfinally節を書きます。例外が発生しても、しなくてもfinally ブロックは実行されます。

// finally01.cs

using System;

class finally01
{
    public static void Main()
    {
        try
        {
            Console.Write("何か数字を入力してください---");
            string str = Console.ReadLine();
            int x = Int32.Parse(str);
            int y = x / 2;
            Console.WriteLine("今入力した数字を2で割ると{0}です", y);
        }
        catch (Exception e)
        {
            Console.WriteLine("例外が発生しました");
            Console.WriteLine(e.Message);
        }
        finally
        {
            Console.WriteLine("finallyです");
        }
    }
}
見てわかるように、「数字を入力してください」数字以外の文字を入力すると例外が発生します。

言われたとおり、数字を入力するとその半分の値を出力します。

どちらの場合も「finallyです」という文字列が出力されます。

実行結果は、次のようになります。

数字を入力しなかったために、例外が発生しています。

例外が発生しても、「finallyです」という文字列は表示されます。



今度は、例外は発生していません。

「finallyです」という文字列は表示されます。



さて、このプログラムの場合最後の

Console.WriteLine("finallyです");
は、わざわざfinallyブロックに書かなくても結果は同じになります。

ただ、プログラムの見通しをよくするという意味合いですね。


[C# Index] [総合Index] [Previous Chapter] [Next Chapter]

Update 12/Oct/2006 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。