using System;

class MainClass
{
    public static void Main(string[] args)
    {
        string strResult;   // das eingegebene Ergebnis
        int    nRealResult; // die Musterloesung
        
        Console.WriteLine("Das LUSTIGE Rechenspiel!\n");
        Console.Write("Wie alt bist denn Du? ");
        string strAge = Console.ReadLine();
        
        try
            {
            // das muss nicht klappen -> Exception
            int nAge = Int32.Parse(strAge); // alternativ zu Convert.Int32()
            
            if (nAge > 12)
                {
                // Erwachsene
                Console.Write("Wie viel ist 2 hoch 3 = ");              
                strResult = Console.ReadLine();
                nRealResult = 8;
                }
            else
                {
                // Kinder
                Console.Write("Wie viel ist 2 + 3 = ");             
                strResult = Console.ReadLine();
                nRealResult = 5;
                }

            // Das kann wieder eine Ex schmeissen
            int nResult = Int32.Parse(strResult);
            
            if (nResult == nRealResult)
                {
                Console.WriteLine("Gut gemacht!");  
                }
            else
                {
                Console.WriteLine("Du bist zu dumm zum Brunzen!");  
                }
            
            }
        // spezifischer Catch fuer den Umwandlungsfehler
        catch(System.FormatException ex)
            {
            Console.WriteLine("Wenn Du nicht weisst, wie man ZAHLEN eingibt, geh Di einfach brausen!"); 
            }
        // generischen catch    
        catch(Exception ex)
            {
            Console.WriteLine("Keine Ahnung, was der Scheiss soll: {0}", ex.Message);   
            }
        
    }
}

syntax highlighted by Code2HTML, v. 0.9.1