using System;

public class Chat
{
    uint _age; // par défaut Private!!
    private const uint AgeMaximum = 100;

    public String Crier()
    {
        return ("Miaouuu j'ai " + AgeChat + " ans"); // ou this.AgeChat
    }

    // Propriétés :get/set
    public uint AgeChat
    {
        get { return this._age; }
        set
        {
            if (value > AgeMaximum)
            {
                throw new ArgumentException("Age du Chat (" + value + ") invalide");
            }
            else
            {
                this._age = value;
            }
        }
    }
}

class Program
{
    static void Main(string[] args)
    {
        Chat UnMatou = new Chat();
        UnMatou.AgeChat = 10; // exception non rattrapée
        Console.WriteLine("le matou a " + UnMatou.AgeChat + " ans");
        //try-catch
        try
        {
            UnMatou.AgeChat = 135; // exception rattrapée
        }
        catch (Exception ex)
        {
            Console.Error.WriteLine(ex.Message);
        }
        Console.ReadKey();
    }
}
