Qt, обработка ошибок
Feb. 15th, 2009 06:22 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Что-то в примерах и документации нигде не вижу как обрабатываются ошибки, типа "в функцию передали кривой параметр", "вызов нижележащей ОС сдох, потому что ее сгрызли черви", итд.
Функции типа qWarning,qFatal, итд, вижу, есть. Вроде и обработка исключений какая-то есть, класс вроде Exception. Но вроде ж try-catch религия не позволяет в C++ юзать или я чего-то уже путаю?
Т.е. вообще, как принято обрабатывать ошибки в Qt?
Функции типа qWarning,qFatal, итд, вижу, есть. Вроде и обработка исключений какая-то есть, класс вроде Exception. Но вроде ж try-catch религия не позволяет в C++ юзать или я чего-то уже путаю?
Т.е. вообще, как принято обрабатывать ошибки в Qt?
no subject
Date: 2009-02-16 05:22 am (UTC)Есть священная корова - GCC, которую тронуть никак нельзя, потому бедные QTшкини пошли по привычному пути - решение проблем надстройками, макросами, препроцессорами и т.п. херью, когда тут слону понятно, что задача настолько глубока, что нужно мочить эту священную корову и делать все на другом уровне.
Кстати, мысль эта целиком неприемлима юникс-сообществом :)
Заповедь номер1: Линус Торвальдс свят
Заповедь номер2: GCC незыблимо
Заповедь номер3: все вещи нужно реализовывать конвеерной обработкой на основе имеющихся вещей
Все, сразу же упираемся в теоретический предел.
no subject
Date: 2009-02-16 06:00 am (UTC)Мне непонятно. Ни разу. boost.signals пример решения в рамках текущих инструментов.
no subject
Date: 2009-02-16 06:01 am (UTC)Особенно на тему конвейеров.
Это н еюникс-вей, это какое-то жестокое его извращение.
no subject
Date: 2009-02-16 06:56 am (UTC)1. ничего не писать если возможно
Да, взяли готовый GCC
2. использовать конвеерную обработку (идеологию)
Да, пройдемся 30 раз разными препроцессорами/конверторами и приведем все к тому, чтоб не трогать GCC
Я ж говорю, тут слону понятно, что с ихними задумками сразу должно было стать очевидным, что нужно писать новый компилятор, другой, отдельный. Сам масштаб задачи таков.
no subject
Date: 2009-02-16 07:17 am (UTC)no subject
Date: 2009-02-16 08:11 am (UTC)no subject
Date: 2009-02-16 08:44 am (UTC)no subject
Date: 2009-02-16 08:51 am (UTC)no subject
Date: 2009-02-16 08:57 am (UTC)Резюме - не всегда на подходе "сидеть по вечерам за деньги родителей" чисто технически получится нормальный продукт. Финансовые ограничения - это очень серьезно. А я тут кроме финансовых ограничений пока ничего не узрел :)
no subject
Date: 2009-02-16 09:00 am (UTC)Вы представляете, что такое заопарк embedded архитектур, и какую роль в нём играет gcc? То чем они *могут* заниматься, это улучшать инструменты. Но убивать таргет аудиторию никто не собирается.
no subject
Date: 2009-02-16 09:09 am (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2009-02-16 08:07 am (UTC)И я ещё не видел другого настолько продуманного и бесшовного решения.
Интегрируется в любую систему сборки, не требует навороченной IDE чтобы это всё рулить...
no subject
Date: 2009-02-16 08:47 am (UTC)no subject
Date: 2009-02-16 08:50 am (UTC)no subject
Date: 2009-02-16 08:57 am (UTC)В этой связке все зашибись. Я не против узкоспециализированных инструментов!
Я за то, чтоб вызов gcc за менить на qtcc
ВСЁ.
no subject
Date: 2009-02-16 09:01 am (UTC)no subject
Date: 2009-02-16 09:02 am (UTC)(no subject)
From:(no subject)
From:no subject
Date: 2009-02-16 09:05 am (UTC)no subject
Date: 2009-02-16 09:06 am (UTC)no subject
Date: 2009-02-16 08:54 am (UTC)Много Вы проектов написали? Крупных, продаваемых?
no subject
Date: 2009-02-16 09:02 am (UTC)Активно продаваемых на сегодняшний момент 7 штук.
no subject
Date: 2009-02-16 09:03 am (UTC)В общем, вернёмся в конструктивное русло.
Вы можете привести несколько аргументов в пользу написания компилятора с нуля?
no subject
Date: 2009-02-16 09:05 am (UTC)Языков которые кастятся в gcc много, из старых - java, из новых - vala.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2009-02-16 08:08 am (UTC)Может я тупой, но мне это непонятно. И кажется, что наоборот, путь trolltech & qt - меньшее зло.
З.Ы. Вы пробовали писать свой компилятор? Или транслятор? Простенький какой-нибудь. М?
no subject
Date: 2009-02-16 06:33 am (UTC)