LINUX.ORG.RU

QT и обработка ошибок


0

0

Подскажите пожалуйста, как в QT наиболее красивым способом можно обрабатывать ошибки. К своему удивлению в библиотеке не обнаружил ни одного класса для этого. Неужели по-старому (try...catch) ? И где (в QApplication::notify что ли) ?


Ответ на: комментарий от gassique

>ну в общем там дело такое. типа мы не хотим иметь дело с подобиями qexception, потому как не все компилеры понимают exceptions. маразм, но бороться можно. читать по линкам:

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

Что подразумевается под "красивым способом" ?

ANDI ★★
()
Ответ на: комментарий от ANDI

другие причины это какие? пресловутое performance penalty? или размер бинарника? да глупость это. а маразм в позиции той, что типа не будем делать нах, потому что какое-то экзотическое страрье не поддерживает. :) (namespaces то уж куда позже были, а не - юзают) :)

gassique ★★
()
Ответ на: комментарий от ANDI

Под "красивостью" полагалась обработка ситуаций узкозаточенными классами исключений, как это сделано в Java

gtyrin
() автор топика
Ответ на: комментарий от gassique

>другие причины это какие? пресловутое performance penalty? или размер бинарника? да глупость это. а маразм в позиции той, что типа не будем делать нах, потому что какое-то экзотическое страрье не поддерживает. :) (namespaces то уж куда позже были, а не - юзают) :)

Легко так рассуждать, когда больше 2-3 компиляторов не используешь ;)
А чтобы поддерживать тот зоопарк компиляторов, который поддерживает Qt, при этом не перегружая код макросами...
Я не думаю, что троли просто так отказались от определенных возможностей языка (без которых, как видно, можно было обойтись)
А исключения имеют дурную репутацию из-за несовместимой реализации различными компиляторами.

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

В общем, взгляните сюда и все поймете (Джава, но не суть):
http://www.javaworld.com/javaworld/jw-04-1997/optimize/Benchmark_Results.html

ANDI ★★
()
Ответ на: комментарий от gtyrin

Нет такого в Qt.
Там в основном используется "некрасивый" способ с if/else.

ANDI ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.