Я должен написать программу, которая позволяет пользователю вводить имя, описание и количество страниц книги, и программа должна перехватывать исключения, если имя или описание равно нулю или если число страниц равнониже нуля.Учитель сказал, что нам нужно отлавливать исключения в функции «set» класса, но я не могу понять, что это правильно.Вот как выглядит класс:
class Book
{
private string Name;
private string Description;
private int Pages;
public string GetName()
{
return Name;
}
public string GetDescription()
{
return Description;
}
public int GetPages()
{
return Pages;
}
public void SetName(string Name)
{
if (this.Name == null)
throw new Exception("The name can't be blank");
else
this.Name = Name;
}
public void SetDescription(string Description)
{
if (this.Description == null)
throw new Exception("The description can't be blank");
else
this.Description = Description;
}
public void SetPages(int Pages)
{
if(Pages > 0)
{
this.Pages = Pages;
}
else
{
Console.WriteLine("Number of pages has to be higher than zero");
}
}
public void Write()
{
Console.WriteLine("Name: {0}, Description: {1}, Pages: {2}", Name, Description, Pages);
}
}
А главное выглядит так:
Book hp = new Book();
hp.SetName("Harry Potter");
hp.SetDescription("It's okay");
hp.SetPages(-500);
hp.Write();
Я знаю, что SetPages действительно не использует метод catch, но я думаю, что он все еще работает(хотя, если у кого-то есть идея, как использовать метод catch, я буду рад это услышать).Моя проблема в том, что даже когда строки имени и описания явно имеют ввод, исключение NULL все равно генерируется.Кто-нибудь знает, как я могу это исправить?Любая помощь будет оценена.