2012年8月8日水曜日

開発環境

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

練習16-1.

コード

using System;
using System.Collections.Generic;

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(5);
                Cat sora = new Cat(10);
                List cats = new List();
                cats.Add(tama);
                cats.Add(sora);
                // 例外発生
                Console.WriteLine(cats[10]);
                Console.WriteLine("Catオブジェクトの割り当て終了");
            }
            catch (ArgumentOutOfRangeException 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オブジェクトの割り当て開始
インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さく
なければなりません。
パラメーター名: index
Catオブジェクトの割り当ての解除
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿