[Comm] [C++] обработка исключений

Alexey Voinov =?iso-8859-1?q?voins_=CE=C1_voins=2Eprogram=2Eru?=
Вт Мар 18 20:15:10 MSK 2003


Alexey Vakhov wrote
> Здраствуйте ALL!
> 
> Есть такой вопросик:
> 
> class simple{
> 	public:
> 		simple() throw(int);
> }
> 
> int main(){
> 	try{
> 		simple* s = new simple();
> 	}
> 	catch(int& i){
> 		cout << "Err!!" << endl;
> 	}
> }
> 
> Предположим что в конструкторе возникло исключение, создатся ли объект,
> нужно будет ли вызывать delete s? Или лучше не использовать исключения в
> конструкторах, а попытаться как-нибудь создать объект, а потом его
> корректно удалить. А исключения вызывать в остальных функциях. 
Внимательно читайте стандарт, там эта ситуация описана очень подробно.
Если коротко:
Если в конструкторе возникло исключение, то объект не будет создан.

-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins на voins.program.ru
vns на altlinux.ru

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20030318/c4bc521e/attachment-0005.bin>


Подробная информация о списке рассылки community