1.C#编程学习——关于try和catch使用

源代码

如下:

//-----------------------------------------------

// CsDateProperties.cs ?2001 byCharles Petzold

//-----------------------------------------------

usingSystem;

 

classCsDateProperties

{

    publicstaticvoid Main()

    {

        Date mydate = newDate();

 

        try

        {

            mydate.Month = 8;

            mydate.Day = 29;

            mydate.Year = 2001;

 

            Console.WriteLine("Day of year = {0}", mydate.DayOfYear);

        }

        catch (Exceptionexc)

        {

            Console.WriteLine(exc);

        }

    }

}

classDate

{

    // Fields

    int year;

    int month;

    int day;

    staticint[] MonthDays = newint[]{   0, 31,  59,  90, 120, 151,

                                          181, 212, 243, 273, 304, 334 };

 

    // Properties

    publicint Year

    {

        set

        {

            if (value < 1600)

                thrownewArgumentOutOfRangeException("Year");

            else

                year = value;

        }

        get

        {

            return year;

        }

    }

    publicint Month

    {

        set

        {

            if (value < 1 || value > 12)

                thrownewArgumentOutOfRangeException("Month");

            else

                month = value;

        }

        get

        {

            return month;

        }

    }

    publicint Day

    {

        set

        {

            if (value < 1 || value > 31)

                thrownewArgumentOutOfRangeException("Day");

           else

                day = value;

        }

        get

        {

            return day;

        }

    }

    publicint DayOfYear

    {

        get

        {

            return MonthDays[month - 1] + day +

                                (month > 2&& IsLeapYear(year) ? 1 : 0);

        }

    }

    // Method

    publicstaticbool IsLeapYear(int year)

    {

        return (year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0));

    }

}

其中代码中使用

Date mydate = newDate();来构造Date对象。