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); } } }
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); } } }