1 (03.08.2011 17:12:32 отредактировано LappoSV)

Тема: Обработка исключений

Вопрос. Никак не могу в Qt под Maemo или просто под Linux прикрутить обработку исключительных ситуаций (try/catch). Под symbian, вроде, что-то есть. А как быть тут ??

Поделиться

2

Re: Обработка исключений

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

We all know Linux is great … it does infinite loops in 5 seconds.The only limiting factor of the Linux operating system is its user.

Поделиться

3

Re: Обработка исключений

Пробовал тупо? Правда пишу по-памяти.
try {
int i=0;
int r=5/i;
}
catch (...)
{
}

Поделиться

4

Re: Обработка исключений

try {
int i=0;
int r=5/i;
}
catch (int err)
{
}

вполне таки собирается ...

We all know Linux is great … it does infinite loops in 5 seconds.The only limiting factor of the Linux operating system is its user.

Поделиться

5 (04.08.2011 09:48:10 отредактировано LappoSV)

Re: Обработка исключений

Да. Собирается. Но не работает.... Программа падает.. Правда с catch (int err) я не пробовал. Мне нужен был обработчик ЛЮБОГО исключения. Т.е. именно catch (...)

Поделиться

6

Re: Обработка исключений

LappoSV пишет:

Да. Собирается. Но не работает.... Программа падает.. Правда с catch (int err) я не пробовал. Мне нужен был обработчик ЛЮБОГО исключения. Т.е. именно catch (...)

Рекомендуется к прочтению раздел "Exception Safety" в QtAssistant.
Т.е. общепринятые try-catch должны работать. Но по концепции Qt лучше пользоваться кодами ошибок, и функциями их возвращающими/получающими (у большинства классов есть такие).

Поделиться

7

Re: Обработка исключений

Это всё понятно и это я читал. Но у меня на Qt написана программа которая работает с COM портом (свой класс) в несколько потоков читая от туда данные и записывая их туда (обмен данными с внешним устройством) так вот эта программа, по непонятным причинам, падает. Иногда раз в сутки.. иногда реже. И без полноценных исключений не понятно где искать ошибку. Эта же программа скомпилированная в студии, с минимальными изменениями, работает на Ура.

Поделиться

8

Re: Обработка исключений

LappoSV пишет:

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

Тогда, получается, стоит копать в сторону инструментария, которым собирается программа на Qt. Т.е. если я собираю прогу под винду, то у меня использется тот же MS компилятор от VS2008 - и всё, что не касается особенностей Qt будет абсолютно идентичным, будучи собранным хоть из QtCreator'а, хоть из Студии...

Поделиться