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-15 08:00 pm (UTC)(link)
И С++ не такой страшный, как говорят, ога? =)

[identity profile] vp.livejournal.com 2009-02-15 09:00 pm (UTC)(link)
А при чем тут С++? Основное назначение базового языка - он не должен раздражать убогостью. Например, PHP, VB и т.п. птичьи языки бесяд. А когда в основе С-подобный или паскаль, где все строго типизировано, оно не может ложиться поперек мозга.
Человеку после 10 лет разработок, я так понимаю, вообще все равно какой базовый язык.

[identity profile] zamotivator.livejournal.com 2009-02-15 09:12 pm (UTC)(link)
Просто Qt очень критикуют за С++.
А то, что она хороша - заслуга разработчиков, а не языка.
Биндингов в большое количество языков как бэ потверждают, что архитектура Qt кошерна =)

[identity profile] vp.livejournal.com 2009-02-15 09:27 pm (UTC)(link)
А я это вообще не понимаю. Главное, чтобы они вылизали продукт до состояния идеального. Мне вот после 3х дневного изучения QT на сегодня кажется, что продукт весьма и весьма тянет на мейнстрим, т.к кто бы что ни говорил, а тенденция ухода от микрософта таки намечается. Жаль только, что без линуксячьего помета не обошлось в этом деле :(

[identity profile] zamotivator.livejournal.com 2009-02-15 09:29 pm (UTC)(link)
Какого такого линуксьячего помёта?
На мейнстрим он тянет уже давно =) Недаром его Нокия купила =)

[identity profile] vp.livejournal.com 2009-02-15 09:32 pm (UTC)(link)
Про реализацию connect без возможности каких-либо статический проверок на этапе компиляции. У меня в ЖЖ.

[identity profile] zamotivator.livejournal.com 2009-02-15 09:34 pm (UTC)(link)
Оооооооооо, я на это так давно зубы точу =) Но линукс тут ни причём.

[identity profile] vp.livejournal.com 2009-02-16 05:22 am (UTC)(link)
Именно юниксвей тут причем.
Есть священная корова - GCC, которую тронуть никак нельзя, потому бедные QTшкини пошли по привычному пути - решение проблем надстройками, макросами, препроцессорами и т.п. херью, когда тут слону понятно, что задача настолько глубока, что нужно мочить эту священную корову и делать все на другом уровне.
Кстати, мысль эта целиком неприемлима юникс-сообществом :)
Заповедь номер1: Линус Торвальдс свят
Заповедь номер2: GCC незыблимо
Заповедь номер3: все вещи нужно реализовывать конвеерной обработкой на основе имеющихся вещей

Все, сразу же упираемся в теоретический предел.

[identity profile] zamotivator.livejournal.com 2009-02-16 06:00 am (UTC)(link)
когда тут слону понятно, что задача настолько глубока, что нужно мочить эту священную корову и делать все на другом уровне.
Мне непонятно. Ни разу. boost.signals пример решения в рамках текущих инструментов.

(no subject)

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

(no subject)

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

(no subject)

[identity profile] kiryl.livejournal.com - 2009-02-16 07:17 (UTC) - Expand

(no subject)

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

(no subject)

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

(no subject)

[identity profile] featalion.livejournal.com - 2009-02-16 08:51 (UTC) - Expand

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

[identity profile] kiryl.livejournal.com - 2009-02-16 08:50 (UTC) - Expand

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(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

(no subject)

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

(no subject)

[identity profile] kiryl.livejournal.com - 2009-02-16 06:33 (UTC) - Expand

[identity profile] theiced.livejournal.com 2009-02-16 01:23 am (UTC)(link)
Ребе, я вам таки уже объяснил зойчем это сделано. Если охота другого - пишите им багрепорт, авось сделают в Qt5 :)

[identity profile] vp.livejournal.com 2009-02-16 05:24 am (UTC)(link)
ребе! если меня в собственном ЖЖ закидали стулом пара человек, то экстраполируя перспективы на большее линукс-сообщество меня просто закажут. За еритизм.

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

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

(no subject)

[identity profile] kong-en-ge.livejournal.com - 2009-02-16 09:18 (UTC) - Expand

(no subject)

[identity profile] featalion.livejournal.com - 2009-02-16 08:57 (UTC) - Expand

[identity profile] theiced.livejournal.com 2009-02-16 01:22 am (UTC)(link)
Ненавижу С++ (примерно так же как перл), но Qt таки скрывает, с большего, плюсатую блевотину.

[identity profile] vp.livejournal.com 2009-02-16 05:15 am (UTC)(link)
На любом языке можно писать в истерическом стиле, когда будут черви, жабы, змеи, невозможность отладки и т.п. На С++ такое поулчается в особенности хорошо :)
Просто писать надо из соображения, что код будут потом обслуживать.

[identity profile] theiced.livejournal.com 2009-02-16 01:21 am (UTC)(link)
Точно. Абы он был нормальный и не бесил. Поэтому 83% языков отсеиваются сразу ;)

[identity profile] vp.livejournal.com 2009-02-16 05:23 am (UTC)(link)
Остается С (+базирующиеся на нем Java+C#), C++ и Паскаль (Дельфи).
Остальное от лукавого имхо на 100%

[identity profile] zamotivator.livejournal.com 2009-02-16 06:22 am (UTC)(link)
Java и C# блевота. За C# говорю имея год опыта разработки на нём. B Windows Forms блевота.

Python, *ML, lisp неплохи. С++ - в ряде задач. Руби противоречив... А вот Haskell - ИМХО overkill

[identity profile] kiryl.livejournal.com 2009-02-16 06:36 am (UTC)(link)
Просто интересно, чем по вашему мнению Ruby хуже Python?

[identity profile] zamotivator.livejournal.com 2009-02-16 08:06 am (UTC)(link)
http://migmit.livejournal.com/24802.html
Как пример.
Ну Мац же тихий интроверт, разговаривает полушепотом, сидит себе паяет версию 1.86; вместо науки у него интуиция. А толпа несчастных бегает вокруг и хавает всю эту чушь, что он производит...

Гвидо хотя бы гениальный программист, сам-то по себе.

Конкретно по поводу косяков из поста (что по ссылке) - согласен.

[identity profile] theiced.livejournal.com 2009-02-16 07:31 am (UTC)(link)
c, ruby, java, c# у меня :)

[identity profile] featalion.livejournal.com 2009-02-16 08:58 am (UTC)(link)
таки ваши извращенские нравы всем известны, ребе, не нужно их таки выпячивать дополнительно.

[identity profile] featalion.livejournal.com 2009-02-16 09:36 am (UTC)(link)
ребе, а скриптовые языки отбрасываете? и функциональную парадигму тоже?

[identity profile] metaclass.livejournal.com 2009-02-16 09:46 am (UTC)(link)
Речь идет о промышленном применении.
Скриптовые худо-бедно этому соответствуют(не для GUI и нативных бинарников).
Функциональных и декларативных языков в промышленности массово просто нет. Так, изредка энтузиасты впиливают.

[identity profile] vp.livejournal.com 2009-02-16 09:47 am (UTC)(link)
ребе, я про синтаксис. Синтаксисов 3: C, C++ и Паскаль.

[identity profile] kiryl.livejournal.com 2009-02-16 09:49 am (UTC)(link)
Вы отстали от жизни.

P.S. У C и C++ один синтаксис.

[identity profile] vp.livejournal.com 2009-02-16 10:00 am (UTC)(link)
Эээ... Разве в С есть ООП? :)
а у наслдедования и обращения свой синтаксис.