public int Accelerate(int delta = 10)
        {
            // Якщо приріст швидкості менше нуля генеруємо виняток.
            if (delta < 0)
            {
                throw new ArgumentOutOfRangeException("Для розгону, прискорення повинно бути більше нуля.");
            }

            if (engineIsDead)
            {
                return(0);
            }
            else
            {
                currentSpeed += delta;
                // Якщо поточна швидкість перевищує максимально допустиму.
                if (currentSpeed > maxSpeed)
                {
                    engineIsDead  = true;
                    currentSpeed  = 0;
                    Console.Title = "Поточна Швидкість =" + currentSpeed;

                    EngineIsDeadException ex = new EngineIsDeadException("Двигун перегрівся.");

                    // Встановлюємо гіперпосилання зв'язувану з виключенням.
                    ex.HelpLink = "http://www.CarsRace.com/errorService";

                    // Вставляємо додаткову інформацію про помилку.
                    ex.Data.Add("Час поломки:", string.Format("Двигун вийшов з ладу {0}", DateTime.Now));
                    ex.Data.Add("Причина поломки:", "Ви перевищили допустиму швидкість. Двигун згорів.");

                    throw ex;
                }
                else
                {
                    Console.Title = "Поточна Швидкість =" + currentSpeed;
                    return(currentSpeed);
                }
            }
        }
示例#2
0
        public int Accelerate(int delta = 10)
        {
            // Если приращение скорости меньше нуля генерируем исключение.
            if (delta < 0)
            {
                throw new ArgumentOutOfRangeException("Для разгона, ускорение должно быть больше нуля.");
            }

            if (engineIsDead)
            {
                return(0);
            }
            else
            {
                currentSpeed += delta;
                // Если текущая скорость превышает максимально допустимую.
                if (currentSpeed > maxSpeed)
                {
                    engineIsDead  = true;
                    currentSpeed  = 0;
                    Console.Title = "Текущая Скорость = " + currentSpeed;

                    EngineIsDeadException ex = new EngineIsDeadException("Двигатель перегрелся.");

                    // Устанавливаем гиперссылку связываемую с исключением.
                    ex.HelpLink = "http://www.CarsRace.com/errorService";

                    // Вставляем дополнительную информацию об ошибке.
                    ex.Data.Add("Время поломки   :", string.Format("Двигатель вышел из строя {0}", DateTime.Now));
                    ex.Data.Add("Причина поломки :", "Вы превысили допустимую скорость. Двигатель сгорел.");

                    throw ex;
                }
                else
                {
                    Console.Title = "Текущая Скорость = " + currentSpeed;
                    return(currentSpeed);
                }
            }
        }