Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("*****Exemple*****");
            Console.WriteLine("Creating a car!!!");
            Car myCar = new Car("Zippy", 20);

            myCar.CrankTunes(true);
            try
            {
                for (int i = 0; i < 10; i++)
                {
                    myCar.Accelerate(-10);
                }
            }

            catch (CarIsDeadException ex)
            {
                Console.WriteLine("Message {0}, Time {1}, Cause {2}", ex.Message, ex.ErrorTimeStamp, ex.CauseOfError);
            }
            catch (ArgumentOutOfRangeException a)
            {
                Console.WriteLine(a.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                myCar.CrankTunes(false);
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            // Make a simple car.
            Console.WriteLine("***** Creating a car and stepping on it *****");
            Car myCar = new Car("Zippy", 20);

            myCar.CrankTunes(true);

            // Try to rev the engine hard!
            try
            {
                // Uncomment to test ArgumentOutOfRangeException.
                // myCar.Accelerate(-10);
                for (int i = 0; i < 10; i++)
                {
                    myCar.Accelerate(10);
                }
            }
            catch (CarIsDeadException e)
            {
                Console.WriteLine("\n*** Error! ***");
                Console.WriteLine("Member name: {0}", e.TargetSite);
                Console.WriteLine("Class defining member: {0}",
                                  e.TargetSite.DeclaringType);
                Console.WriteLine("Member type: {0}", e.TargetSite.MemberType);
                Console.WriteLine("Message: {0}", e.Message);
                Console.WriteLine("Source: {0}", e.Source);
                Console.WriteLine("Stack: {0}", e.StackTrace);
                Console.WriteLine("Help Link: {0}", e.HelpLink);

                // By default, the data field is empty, so check for null.
                Console.WriteLine("\n-> Custom Data:");
                if (e.Data != null)
                {
                    foreach (DictionaryEntry de in e.Data)
                    {
                        Console.WriteLine("-> {0}: {1}", de.Key, de.Value);
                    }
                }
            }
            catch (ArgumentOutOfRangeException e)
            {
                Console.WriteLine("Message: {0}", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Message: {0}", e.Message);
            }
            finally
            {
                // This will always occur. Exception or not.
                myCar.CrankTunes(false);
            }

            Console.WriteLine("\n***** Out of exception logic *****");
            myCar.Accelerate(10);  // Will not speed up car.
            Console.ReadLine();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("***** Now with custom Exception *****");
            Console.WriteLine("=> Creating a car and stepping on it!");
            Car myCar = new Car("Zippy", 20);

            myCar.CrankTunes(true);
            // Speed up past the car's max speed to
            // trigger the exception.
            try
            {
                for (int i = 0; i < 10; i++)
                {
                    myCar.Accelerate(10);
                }
            }
            catch (CarIsDeadException e)
            {
                Console.WriteLine("\n*** Error! ***");
                Console.WriteLine("Method: {0}", e.TargetSite);
                Console.WriteLine("Message: {0}", e.Message);
                Console.WriteLine("Source: {0}", e.Source);
            }
            // The error has been handled, processing continues with the next statement.
            Console.WriteLine("\n***** Out of exception logic *****");
            Console.ReadLine();
        }