Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SaShka K
3 / 3 / 0
Регистрация: 16.01.2014
Сообщений: 55
#1

Как правильно обрабатывать исключения в приложении на базе графического движка? - C++

10.08.2014, 17:19. Просмотров 248. Ответов 1
Метки нет (Все метки)

Я с исключениями работал только в консольных приложениях - там удобно реализовывался метод бросания интов, которые представляли собой код ошибки, а в catch'е можно было просто сделать соответствующий пойманному значению cout и т.о. сообщить себе, что пошло не так.

Сейчас разбираюсь в игровом движке. Соответственно проект не консольный (не знаю, как правильно назвать - наверное просто Win32). И тут весь вывод, насколько я понимаю, движок осуществляет в методе OnRender().

Подскажите пожалуйста, есть ли какой-то другой (более красивый) выход, кроме как внутри OnRender() вызывать ф-цию, например какую-нибудь myPrintInvokedExceptionsMessages(), в которой проверять какие-то мои глобальные флаги исключений и что-то печатать, если они выставлены?

Что-то ничего лучше в голову не приходит, но ведь в таком случае это уже не обработка исключений получается, т.к. устанавливать эти флаги я могу и без try-throw-catch, а просто в местах, где раньше бросал исключение, просто ставить флаг.

Или есть какой-то способ вывода сообщений об исключениях в какое-то служебное отладочное окно? (чтобы не привязываться к OnRender()) Или каким-то иным образом?

PS: простите, вопрос, видимо, глупый, но это мой первый опыт с неконсольным приложением.
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2014, 17:19     Как правильно обрабатывать исключения в приложении на базе графического движка?
Посмотрите здесь:

Как обрабатывать посылаемые виндовс сообщения, в консольном приложении? - C++
С использованием библиотеки windows.h Нужно в консольном приложении обрабатывать сообщения, например, нажатия клавиши, и тд...

Как правильно вызывать исключения? - C++
как правильно вызывать исключения? я вот пишу например так: throw std::exception("Error!"); исключение то выбрасывается, но сообщение...

Как обрабатывать данные в функции на С++ - C++
Добрый вечер всем. Очень нужна помощь. Я очень поверхностно знаком с классами и функциями, соответственно, и код криво написал. Суть...

Как хранить и обрабатывать массив больших элементов - C++
Всем привет Есть некоторый буфер объёма 1 350 000 байт (значение конкретное в конкретном времени и месте, в принципе, возможно...

Как установить и обрабатывать HotKey из dll (из фильтра directshow) - C++
Надо сделать горячую клавишу из своей динамической библиотеки (фильтра directshow) где нет своих окон в плеер который её подгружает. давно...

Как перехватывать и обрабатывать события в динамически созданных классах? - C++
Приветствую! Есть много разных классов и много динамически созданных экземпляров каждого из них. И вот в программе происходит какое-то...

Как свиртуализировать исключения? - C++
Мне очень нравится как реализован перехват исключений в Python и Java: там в блоке catch не надо перечислять все виды исключений, а...

Как генерировать исключения? - C++
Как сгенерировать исключение. Как выход индекса за пределы допустимого диапозона. Изучаю API

Как бросать эти исключения? - C++
throw popOnEmpty();, throw pushOnFull(Value);. Что нибудь надо выше заинкладить/написать? Что именно?

Как создавать информативные исключения? - C++
как создавать информативные исключения??? нигде не могу найти внятного объяснения :( единственный способ какой я знаю throw...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
some_name
Вежливость-главное оружие
221 / 221 / 55
Регистрация: 19.02.2013
Сообщений: 1,431
10.08.2014, 17:57     Как правильно обрабатывать исключения в приложении на базе графического движка? #2
Пишите в файл, так делается во многих(если не во всех GUI приложения). Получится что-то типа лога. Очень удобно
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru