Mir-knigi.online
Книги онлайн читать бесплатно!
  • Главная
  • Жанры
  • ТОП книг
  • ТОП авторов
  • Контакты

Язык программирования C#9 и платформа .NET5

Часть 153 из 642 Информация о книге

Кроме того, класс

Car
имеет несколько свойств для представления текущей скорости и указанного пользователем "дружественного названия" автомобиля, а также различные конструкторы для установки состояния нового объекта
Car
. Ниже приведено полное определение
Car
вместе с поясняющими комментариями.

using System;

namespace SimpleException

{

  class Car

  {

    // Константа для представления максимальной скорости.

    public const int MaxSpeed = 100;

    // Свойства автомобиля.

    public int CurrentSpeed {get; set;} = 0;

    public string PetName {get; set;} = "";

    // He вышел ли автомобиль из строя?

    private bool _carIsDead;

    // В автомобиле имеется радиоприемник.

    private readonly Radio _theMusicBox = new Radio();

    // Конструкторы.

    public Car() {}

    public Car(string name, int speed)

    {

      CurrentSpeed = speed;

      PetName = name;

    }

    public void CrankTunes(bool state)

    {

      // Делегировать запрос внутреннему объекту.

      _theMusicBox.TurnOn(state);

    }

    // Проверить, не перегрелся ли автомобиль.

    public void Accelerate(int delta)

    {

      if (_carIsDead)

      {

        Console.WriteLine("{0} is out of order...", PetName);

      }

      else

      {

        CurrentSpeed += delta;

        if (CurrentSpeed > MaxSpeed)

        {

          Console.WriteLine("{0} has overheated!", PetName);

          CurrentSpeed = 0;

          _carIsDead = true;

        }

        else

        {

          Console.WriteLine("=> CurrentSpeed = {0}",

            CurrentSpeed);

        }

      }

    }

  }

}

Обновите код в файле

Program.cs
, чтобы заставить объект
Car
превышать заранее заданную максимальную скорость (установленную в
100
внутри класса
Car
):

using System;

using System.Collections;

using SimpleException;

Console.WriteLine("***** Simple Exception Example *****");

Console.WriteLine("=> Creating a car and stepping on it!");

Car myCar = new Car("Zippy", 20);

myCar.CrankTunes(true);

for (int i = 0; i < 10; i++)

{

  myCar.Accelerate(10);

}

Console.ReadLine();

В результате запуска кода будет получен следующий вывод:

***** Simple Exception Example *****

=> Creating a car and stepping on it!

Jamming...

=> CurrentSpeed = 30

=> CurrentSpeed = 40

=> CurrentSpeed = 50

=> CurrentSpeed = 60

=> CurrentSpeed = 70

=> CurrentSpeed = 80

=> CurrentSpeed = 90

=> CurrentSpeed = 100

Zippy has overheated!

Zippy is out of order...

Генерация общего исключения

Теперь, имея функциональный класс

Car
, давайте рассмотрим простейший способ генерации исключения. Текущая реализация метода
Accelerate()
просто отображает сообщение об ошибке, если вызывающий код пытается разогнать автомобиль до скорости, превышающей верхний предел.

Чтобы модернизировать метод

Accelerate()
для генерации исключения, когда пользователь пытается разогнать автомобиль до скорости, которая превышает установленный предел, потребуется создать и сконфигурировать новый экземпляр класса
System.Exception
, установив значение доступного только для чтения свойства
Message
через конструктор класса. Для отправки объекта ошибки обратно вызывающему коду применяется ключевое слово
throw
языка С#. Ниже приведен обновленный код метода
Accelerate()
:


Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело
  • Деловая литература
  • Детективы и триллеры
  • Детские
  • Детские книги
  • Документальная литература
  • Дом и дача
  • Дом и Семья
  • Жанр не определен
  • Зарубежная литература
  • Знания и навыки
  • История
  • Компьютеры и Интернет
  • Легкое чтение
  • Любовные романы
  • Научно-образовательная
  • Образование
  • Поэзия и драматургия
  • Приключения
  • Проза
  • Прочее
  • Психология и мотивация
  • Публицистика и периодические издания
  • Религия и духовность
  • Родителям
  • Серьезное чтение
  • Спорт, здоровье и красота
  • Справочная литература
  • Старинная литература
  • Техника
  • Фантастика и фентези
  • Фольклор
  • Хобби и досуг
  • Юмор
Mir-knigi.online

Бесплатная онлайн библиотека для чтения книг без регистрации с телефона или компьютера. У нас собраны последние новинки, мировые бестселлеры книжного мира.

Контакты
  • [email protected]
Информация
  • Карта сайта
© mir-knigi.online, 2026. | Вход