Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517

Два catch-обработчика

01.06.2011, 22:47. Показов 651. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Читаю книгу по с++ и там написано что catch-обработчик для int не имеет смысла когда есть catch-обработчик для типа double так как всё равно будет преобразование до double и будет отдаваться предпочтение catch-обработчику для double. Ну я вот для пробы и написал маленькую программку:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
    int x;
    cin>>x;
    try
    {
        if (x>10)
         throw 5;
        if (x<10)
         throw 2.33;
    }
 
    catch (double)
    {
        cout<<"Get double";
    }
    catch (int)
    {
        cout<<"Get int";
    }
    return 0;
}
Да только у меня какраз таки catch-обработчики не пересекаются и int ловит int, а double ловит double. С чем это связано и как же тогда звучит стандарт по этому поводу?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2011, 22:47
Ответы с готовыми решениями:

Два обработчика onload
решил создать портфолио со своими набросками (есть работа с гугл апи и калькулятор). но при подключении к документу( к моей странице) ...

Два разных обработчика для одного события
Пишу тренажер таблицы умножения. На форме: label с заданием, textbox для ответа, одна кнопка, но на нее я хочу навесить две разные...

AJAX вместо результата обработчика возвращает, исходный код обработчика
Здравствуйте, начал изучать AJAX и столкнулся с проблемой, при GET запросе в котором я стучу в файл php и требую что бы он вернул текст с...

3
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
02.06.2011, 01:13
Цитата Сообщение от Gepar Посмотреть сообщение
ам написано что catch-обработчик для int не имеет смысла когда есть catch-обработчик для типа double так как всё равно будет преобразование до double и будет отдаваться предпочтение catch-обработчику для double.
что за бред? цитату в студию
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
02.06.2011, 01:19
Цитата Сообщение от Maxwe11 Посмотреть сообщение
что за бред? цитату в студию
а лучше из стандарта
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
02.06.2011, 10:44
alex_x_x,

A handler is a match for a throw-expression with an object of type E if
— The handler is of type cv T or cv T& and E and T are the same type (ignoring the top-level cv-
qualifiers), or
— the handler is of type cv T or cv T& and T is an unambiguous public base class of E, or
— the handler is of type cv1 T* cv2 and E is a pointer type that can be converted to the type of the handler
by either or both of
— a standard pointer conversion (4.10) not involving conversions to pointers to private or protected or
ambiguous classes
— a qualification conversion
[Note: a throw-expression which is an integral constant expression of integer type that evaluates to zero
does not match a handler of pointer type; that is, the null pointer constant conversions (4.10, 4.11) do not
apply. ]
Пункт 15.3
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.06.2011, 10:44
Помогаю со студенческими работами здесь

Конструкция try catch в цикле while. Зацикливается блок catch
Здравствуйте. Столкнулся с проблемой: при попытке запихнуть в цикл конструкцию try catch - зацикливается часть, расположенная в блоке...

Вызов обработчика кнопки из другого обработчика.
Есть кнопка, есть у ней обработчик, который делает нечто полезное. Как вызвать выполнения обработчика этой кнопки из обработчика другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru