metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-02-15 06:22 pm

Qt, обработка ошибок

Что-то в примерах и документации нигде не вижу как обрабатываются ошибки, типа "в функцию передали кривой параметр", "вызов нижележащей ОС сдох, потому что ее сгрызли черви", итд.
Функции типа qWarning,qFatal, итд, вижу, есть. Вроде и обработка исключений какая-то есть, класс вроде Exception. Но вроде ж try-catch религия не позволяет в C++ юзать или я чего-то уже путаю?

Т.е. вообще, как принято обрабатывать ошибки в Qt?

[identity profile] zamotivator.livejournal.com 2009-02-16 06:01 am (UTC)(link)
И тут вообще какой-то бред написан.
Особенно на тему конвейеров.
Это н еюникс-вей, это какое-то жестокое его извращение.

[identity profile] vp.livejournal.com 2009-02-16 06:56 am (UTC)(link)
Именно тот путь по которому пошли создателю QT и есть отражение идеологии юниксвея
1. ничего не писать если возможно
Да, взяли готовый GCC
2. использовать конвеерную обработку (идеологию)
Да, пройдемся 30 раз разными препроцессорами/конверторами и приведем все к тому, чтоб не трогать GCC

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

[identity profile] kiryl.livejournal.com 2009-02-16 07:17 am (UTC)(link)
Писать свой компилятор? Вы представляете объём работ? У них бы не осталось времени на Qt.

[identity profile] zamotivator.livejournal.com 2009-02-16 08:11 am (UTC)(link)
О чём и речь.

[identity profile] vp.livejournal.com 2009-02-16 08:44 am (UTC)(link)
Тут тоже постулат, у каждого свой. Или делаем хорошо - или не делаем никак.

[identity profile] featalion.livejournal.com 2009-02-16 08:51 am (UTC)(link)
пи..ть в ЖЖ каждый горазд. ребе, едьте в нокию и пишите компилятор!

[identity profile] vp.livejournal.com 2009-02-16 08:57 am (UTC)(link)
Вот и вопрос в том, что когда сейчас это дошло до Нокии, может они и будут вкладываться в разработку, и там дело и до компилятора дойдет.
Резюме - не всегда на подходе "сидеть по вечерам за деньги родителей" чисто технически получится нормальный продукт. Финансовые ограничения - это очень серьезно. А я тут кроме финансовых ограничений пока ничего не узрел :)

[identity profile] max-posedon.livejournal.com 2009-02-16 09:00 am (UTC)(link)
Вы простите, ебанулись? (ничего личного)

Вы представляете, что такое заопарк embedded архитектур, и какую роль в нём играет gcc? То чем они *могут* заниматься, это улучшать инструменты. Но убивать таргет аудиторию никто не собирается.

[identity profile] vp.livejournal.com 2009-02-16 09:09 am (UTC)(link)
развивать gcc какая-то религия не дает?

[identity profile] max-posedon.livejournal.com 2009-02-16 09:12 am (UTC)(link)
1. Религия совместимости с icc, msvc.
2. Нежелание создавать собственный язык, лучше заняться интеграцией с уже существующуми. С Haskell например, чтобы фанатики вывода типов, тоже наслодились.
3. Это просто не настока нужно. Все эти ваши крики вокруг connect, они все теоретические, вам кучу людей сказали, что практически то невозникает проблем, а у вас вёс параноя.

(no subject)

[identity profile] metaclass.livejournal.com - 2009-02-16 09:34 (UTC) - Expand

[identity profile] zamotivator.livejournal.com 2009-02-16 08:07 am (UTC)(link)
Препроцессоров два - moc и uic.
И я ещё не видел другого настолько продуманного и бесшовного решения.
Интегрируется в любую систему сборки, не требует навороченной IDE чтобы это всё рулить...

[identity profile] vp.livejournal.com 2009-02-16 08:47 am (UTC)(link)
Вот оно и бьет сзади по голове, жажда чего-то во что-то вечно всовывать и интегрировать. Не нужно ничего интегрировать, продукт такого уровня ОБЯЗАН был быть stand alone и писанный с нуля.

[identity profile] kiryl.livejournal.com 2009-02-16 08:50 am (UTC)(link)
Опять вы со своими виндовыми тараканами. Зачем вам инструмент, который делает всё и абы как? ИМХО лучше несколько узкоспециализированных инструментов, хорошо выполняющих свои задачи.

[identity profile] vp.livejournal.com 2009-02-16 08:57 am (UTC)(link)
Ребе!!!!
В этой связке все зашибись. Я не против узкоспециализированных инструментов!
Я за то, чтоб вызов gcc за менить на qtcc
ВСЁ.

[identity profile] max-posedon.livejournal.com 2009-02-16 09:01 am (UTC)(link)
И послать нахуй 80% текущего рынка???!

[identity profile] max-posedon.livejournal.com 2009-02-16 09:02 am (UTC)(link)
сломать совсместимость с icc, msvc, и тд и тп? (например Qt+ActiveX работает ТОКА на msvc)

[identity profile] featalion.livejournal.com 2009-02-16 09:31 am (UTC)(link)
это потому, что больше activex никому не нужен

(no subject)

[identity profile] max-posedon.livejournal.com - 2009-02-16 09:33 (UTC) - Expand

[identity profile] kiryl.livejournal.com 2009-02-16 09:05 am (UTC)(link)
Единственный реальный вариант получить qtcc и не убить целевую аудиторию -- это написать фронт-енд для gcc реализующий ещё один язык.

[identity profile] max-posedon.livejournal.com 2009-02-16 09:06 am (UTC)(link)
Он убивает 90% Windows аудитории (msvc, icc). Во многих проектах есть чёткая привязка к msvc, из-за сторонних dll-ек.

[identity profile] zamotivator.livejournal.com 2009-02-16 08:54 am (UTC)(link)
Какой бред.
Много Вы проектов написали? Крупных, продаваемых?

[identity profile] vp.livejournal.com 2009-02-16 09:02 am (UTC)(link)
порядка 30 проектотов, из них штук 20 как постановщик задачи, архитектура + ведущий программист
Активно продаваемых на сегодняшний момент 7 штук.

[identity profile] zamotivator.livejournal.com 2009-02-16 09:03 am (UTC)(link)
Тем более странно слышать ТАКОЕ.
В общем, вернёмся в конструктивное русло.

Вы можете привести несколько аргументов в пользу написания компилятора с нуля?

[identity profile] max-posedon.livejournal.com 2009-02-16 09:05 am (UTC)(link)
Или хотябы не с нуля, а нового языка к gcc. (Это таки много более реальная задача).

Языков которые кастятся в gcc много, из старых - java, из новых - vala.

(no subject)

[identity profile] vp.livejournal.com - 2009-02-16 09:10 (UTC) - Expand

[identity profile] metaclass.livejournal.com 2009-02-16 09:26 am (UTC)(link)
Кто нибудь из существующих популярных компиляторов метапрограммирование поддерживает? А то ж ведь шаблоны это хорошо, но слишком уж безумно-декларативно.

(no subject)

[identity profile] max-posedon.livejournal.com - 2009-02-16 09:29 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2009-02-16 09:38 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2009-02-16 09:29 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2009-02-16 09:42 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2009-02-16 10:12 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2009-02-16 10:15 (UTC) - Expand

(no subject)

[identity profile] zamotivator.livejournal.com - 2009-02-16 10:14 (UTC) - Expand

[identity profile] zamotivator.livejournal.com 2009-02-16 08:08 am (UTC)(link)
Я ж говорю, тут слону понятно, что с ихними задумками сразу должно было стать очевидным, что нужно писать новый компилятор, другой, отдельный. Сам масштаб задачи таков.
Может я тупой, но мне это непонятно. И кажется, что наоборот, путь trolltech & qt - меньшее зло.

З.Ы. Вы пробовали писать свой компилятор? Или транслятор? Простенький какой-нибудь. М?