crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в GPF и что с ним делать?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
BRE Дата 15.12.2009, 13:58
  Кроссплатформенных решений - вроде нет, по крайней мере я не встречал.
Используй платформенные решения.
Гурман Дата 15.12.2009, 13:36
  у меня нет возможности его выкинуть, поскольку необходимо при таких исключениях произвести отключение оборудования

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

Цитата(kipter @ 14.12.2009, 16:14) *
Заместо исключения вы можете воспользоваться сигнал-слотовой обработкой ошибок.


ну и как мне ей ловить GPF и прочие критичные ошибки?

kipter Дата 14.12.2009, 16:14
  Ухххх выбивайте себе из головы этот GPF, механизм такой обработки ошибок в С++ называется: "Исключения" и использовать его в Qt сами разработчики не рекомендуют.
И дело даже уже не в том что какие то компиляторы или платформы их не поддерживают.... а в том что использование их в библиотеке порой сулит появление непонятных, сложных ошибок.

Во первых большая неоднозначность что и как произойдет если выкидывать исключение в слоте. Также если в блоке исключения испускается сигнал. Не всегда раскрутка стека станет уместной, из-за особенностей Qt удалять потомков.... может в некоторых сутиациях все пойти не так как ожидалось и получите множественные утечки.

Заместо исключения вы можете воспользоваться сигнал-слотовой обработкой ошибок.
Гурман Дата 14.12.2009, 13:55
  в MFC использовали ловушки таких исключений, специально сделанные мелкософтом, в Qt, кроме try/catch, ничего не видно, но try/catch что-то не работает... или не там его используем?

кто реализовал перехват GPF в Qt-приложениях, причем такой, чтобы кроссплатформенно работал? поделитесь опытом
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 1.8.2025, 0:30