The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"А как можно из catch вернуть управление"
Отправлено Soldier, 25-Фев-05 09:20 
>давайте еще антиквариат навроде watcom 9 вспомним,  там вообще все плющаво
>;)

Да ничего я не собираюсь вспоминать. Еще раз повторю - просто привел факт, что на 2.95 оно откомилируется и  будет работает.

>
>>#include <iostream>
>>
>>//take note - no namespace here
>
>таки нет. или вы указываете std:: явным образом [не указываете] или глобально
>через using.

Хотел просто сказать, что gcc >= 3.2  в этом случае выдаст ошибку, и ничего более :)

>
>ps: другой вопрос, что не все C++ компиляторы поддерживают пространства имен :)
>пример - Watcom C++ 9/10x. или кривый libc++ с глобальным пространством
>std. оба идут вопреки стандарту.
>
>>int main () {
>>
>>class X {};
>>
>> try {
>>  X x;
>>  throw(0);
>>l1:
>>  cout << "Here me\n";
>> } catch (...) {
>>    goto l1;
>> }
>>}
>>
>>Все нормально работает.
>
>на основании чего вы сделали вывод, что это нормально работает?
>в смысле запускается и не валится в core? это еще не показатель
>нормальной работы :) обратитесь к x после метки..
>

Работает так, как должно работать - правильно или нет, это уже другой вопрос

>> А на gcc  начиная как минимум с 3.2.x
>> даже не откомпилится.
>
>ugu, см. выще
>
>>Речь не о том правильно это или нет, должно оно сработать или
>>нет, а о том, что если КОНКРЕТНО указанный код откомилить gcc
>>2.95 (возможно и gcc 3.0) то будет оно работать - только
>>факт и ничего более.
>
>с таким "тестированием" у вас на 99% и код с выходом за
>границы массива будет "нормально" работать :) ну в смысле не будет
>валиться. точнее, валиться будет, но редко..
>
>// wbr


Какой вы нудный однако :))) Ну прежде всего, я так try/catch никогда не использую (мне даже в голову такое не приходило - использовать goto), но уж коль я сделал goto на метку в другом блоке, то я уж позабочусь, чтоб все было нормально. ПОДЧЕРКИВАЮ - я БЫ так никогда БЫ не сделал, но если БЫ возникла БЫ такая задача, то реализовать это с gcc 2.95  вполне возможно - и это просто ФАКТ И НИЧЕГО БОЛЕЕ.


P.S. Не надо мне больше объяснять, что дважды два четыре, please. ;-) Все что я хотел сказать, это то, что тот код откомпилируется и будет работать если использовать gcc 2.95  И НИЧЕГО БОЛЕЕ

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, [email protected] (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру