Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2009, 19:37   #1
Ksy
Пользователь
 
Регистрация: 07.06.2009
Сообщений: 64
Вопрос Как можно реализовать Exception?

У меня есть программа на тему Наследование , в котором реализуются такие классы как журнал, книга , печатное издательство и учебник. и теперь мне нужно обеспечить реализацию иерархии исключений и обработку исключительных ситуаций. Как это возможно сделать ? Куда нужно внести класс и как его возможно организовать ?
Вот сама программа:

Код:
public abstract class DV //печатное издательство
{
private string full_Name;
private string izdatel;
private int storinku; 

protected string Full_Name
{
get { return full_Name; }
set { full_Name = value; }
}

protected string Izdatel
{
get { return izdatel; }
set { izdatel = value; }
}

protected int Storinku
{
get { return storinku; }
set { storinku = value; }
}

public DV()
{}

public DV(string full_Name, string izdatel,int storinku)
{
this.full_Name=full_Name;
this.izdatel=izdatel;
this.storinku=storinku;
Singleton.Create();
Add();
}

public void Add()
{
Singleton.Add(this);
}

public virtual void Show()
{
Console.WriteLine(full_Name);
Console.WriteLine("Имя издателя" + izdatel + "Количество страниц" + storinku);
}


public class Singleton
{
private static DV[] mass;
private static int count=0;
private static Singleton instance=null;

public Singleton()
{
mass=(mass==null) ? new DV[100]:mass;
}
public static void Add(DV document)
{
mass[count]=document;
count++;
}
public static void Print()
{
for(int i=0; i<count;i++)
{
mass[i].Show();
}
}
public static Singleton Create()
{
return(instance==null) ? new Singleton() :instance;
}

}
}

class Book : DV 
{
public string author;

public Book()
{
}

public Book(string full_Name, string izdatel, int storinku, string author)
: base(full_Name, izdatel, storinku)
{
this.author = author;
}

public override void Show()
{
base.Show();
Console.WriteLine("Eto kniga avtor {0} " + author);
}

}



class Pidruchnyk : Book // класс учебник
{
private string tema;

public Pidruchnyk()
{
}

public Pidruchnyk(string full_Name, string izdatel, int storinku, string author, string tema)
: base(full_Name, izdatel, storinku, author)
{
this.tema = tema;
}

public override void Show()
{
Console.WriteLine(Full_Name);
Console.WriteLine("Eto ychebnik tema {0} "+ tema);
}
}
class Zurnal : DV // Журнал
{
public int kol_tem;

public Zurnal ()
{
}

public Zurnal (string full_Name, string izdatel, int storinku, int kol_tem)
: base(full_Name, izdatel, storinku)
{
this.kol_tem = kol_tem;
}

public override void Show()
{
base.Show();
Console.WriteLine("V etom zurnale tem {0} " + kol_tem);
}
}

public class Program
{
static void Main(string[] args)
{
Console.WriteLine("1-Book\n"+"2-Pidruchnuk\n"+"3-Zurnal\n" );
int menuNumber = Convert.ToInt32(Console.ReadLine());

DV dv;

switch (menuNumber) 
{
case 1:
dv=new Book("Cамурай","Одесса",375, "Нагорнюк");
dv.Show();
Console.WriteLine(dv);
break; 
case 2:
dv=new Pidruchnyk("Укр.мова","Киев",150,"Бевз","Граматика");
dv.Show();
break; 
case 3:
dv = new Zurnal("Максим", "Халамон2009", 23, 5);
dv.Show();
break; 
}

Console.ReadKey(true);
}
}

Последний раз редактировалось Sazary; 16.12.2009 в 18:58.
Ksy вне форума Ответить с цитированием
Старый 16.12.2009, 16:37   #2
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

throw new Exception("программа выполнила невполнимое, допустила недопустимое")
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558
Arnezami вне форума Ответить с цитированием
Старый 16.12.2009, 16:39   #3
Arnezami
Форумчанин
 
Регистрация: 04.10.2009
Сообщений: 147
По умолчанию

также дам совет использовать такую штуку как try catch:

try
{
//Твой код...
}
catch(Exception exc)
{
//Сюда мы попадём только том случае, если в блоке тру было исключение
}
finally
{
Этот блок кода в вышеописанной связке необязателен, но возможен и отработает всегда!

}
Ув. Форумчане! Если мои советы были Вам полезны, не забывайте благодарить в виде повышение рейтинга!!!
http://vkontakte.ru/id6715558

Последний раз редактировалось Arnezami; 16.12.2009 в 16:41.
Arnezami вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С помощью чего можно реализовать? prod87 Общие вопросы Delphi 5 30.10.2009 17:15
Как можно реализовать эту программку в NetBeans Taisja Помощь студентам 1 14.05.2009 14:47
как можно реализовать то же, но по-другому? Shawn БД в Delphi 19 03.10.2007 11:29
можно ли такое реализовать Димарик Общие вопросы Delphi 6 22.07.2007 13:18