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

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

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

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

[identity profile] max-posedon.livejournal.com 2009-02-15 04:33 pm (UTC)(link)
Сам Qt реализован в стиле, вернуть код ошибки, посрать в log (warning,debug, fatal, в зависимости от критичности)

Программисту же всё остальное отдаётся на собственное усмотрение, хочешь try-catch и exception-ы, хочешь return value. Хочешь смесь по настроению. Qt он ортогонален всему этому. А что не так с try-catch религией в C++? Вроде как наоборот самый рекомендуемых механизм.

[identity profile] metaclass.livejournal.com 2009-02-15 04:38 pm (UTC)(link)
А, значет я наверно с try-finally перепутал, который там практически не нужен из-за RAII и автоматических убиений созданных на стеке объектов.

[identity profile] max-posedon.livejournal.com 2009-02-15 04:39 pm (UTC)(link)
Ага, именно так, try-finally и его отсутвие в C++, уже когда-то обсуждался