2012年6月24日日曜日

開発環境

『初めてのC# 第2版』(Jesse Liberty+Brian MacDonald著、日向俊二訳、オライリー・ジャパン、2006年、ISBN978-487311-294-7)の 第16章(例外)16.12(練習問題)、練習16-1を解いてみる。

練習16-1

コード

using System;

namespace Sample
{
    class Cat
    {
        private int age;
        public Cat(int age)
        {
            this.age = age;
        }
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
    }
    class Tester
    {
        public void Run()
        {
            try
            {
                Console.WriteLine("Catオブジェクトの割り当て開始");
                Cat tama = new Cat(10);
                Cat sora = new Cat(20);
                Cat[] cats = { tama, sora };
                for (int i = 0; i < cats.Length + 1; i++)
                {
                    Console.WriteLine(cats[i].Age);
                }
                Console.WriteLine("Catオブジェクトの割り当て終了");
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                Console.WriteLine("Catオブジェクトの割り当て解除");
            }
        }
        static void Main()
        {
            Tester t = new Tester();
            t.Run();
        }
    }
}

入出力結果(Console Window)

Catオブジェクトの割り当て開始
10
20
インデックスが配列の境界外です。
Catオブジェクトの割り当て解除
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿