public void Accelerate(int delta) { if (delta < 0) { throw new ArgumentOutOfRangeException("delta", "Speed must be greater than zero!"); } if (carIsDead) { Console.WriteLine("{0} is out of order...", PetName); } else { CurrentSpeed += delta; if (CurrentSpeed > MaxSpeed) { CurrentSpeed = 0; carIsDead = true; CarlsDeadException ex = new CarlsDeadException(string.Format("{0} is overheated!", PetName), "You have a lead foot", DateTime.Now); ex.HelpLink = "https://CarsRus.com"; throw ex; } else { Console.WriteLine("-> CurrentSpeed = {0}", CurrentSpeed); } } }
// Проверить, не перегрелся ли автомобиль. public void Accelerate(int delta) { if (delta < 0) { throw new // Скорость должна быть больше нуля! ArgumentOutOfRangeException("delta", "Speed must be greater than zero!"); } CarlsDeadException ex = new CarlsDeadException(string.Format("{0} has overheated!", PetName), "You have a lead foot", DateTime.Now); ex.HelpLink = "http://www.CarsRUs.com"; throw ex; if (carIsDead) { Console.WriteLine("{0} is out of order...", PetName); } else { CurrentSpeed += delta; if (CurrentSpeed >= MaxSpeed) { CurrentSpeed = 0; carIsDead = true; // Создать локальную переменную перед генерацией объекта Exception, // чтобы можно было обращаться к свойству HelpLink. /* Exception ex = * new Exception(string.Format("{0} has overheated!", PetName)); * ex.HelpLink = "http://www.CarsRUs.com";*/ // Указать специальные данные, касающиеся ошибки. ex.Data.Add("TimeStamp", string.Format("The car exploded at {0}", DateTime.Now)); // метка времени ex.Data.Add("Cause", "You have a lead foot."); // причины throw ex; } else { Console.WriteLine("-> CurrentSpeed = {0}", CurrentSpeed); // Вывод текущей скорости } } }