[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