Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2011, 19:26   #21
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
Короче, в той теме написали, что:
1) Коды ошибок это ужасно
2) Для этого всегда используют эксепшны. Обычно этого достаточно. Надо перегружать std::exception. Читай: http://www.boost.org/community/error_handling.html
3) Ещё можно использовать шину сообщений. Это сложнее в понимании, но удобней в использовании. Тут уже надо гораздо больше читать: http://lib.ololo.cc/b/192396/read#t62
4) Ещё можно использовать 2+3.
  1. В какой 'той'?
  2. Те же сложности, что и с кодами на самом деле. Получиться что-то вроде:
    Код:
    try{
    /* check and throw */
    } catch(myException1& e){/**/} catch(myException2& e){/**/} catch(myException3& e){/**/} catch(...){/**/}
    Плюс ядро будет перебрасывать exceptions наверх в GUI.
  3. Windows Services for UNIX в комплект поставки не входит, так что отпадает.
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Старый 22.01.2011, 20:46   #22
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

А вот эксепшн о парсинге может хранить внутри себя номер строки, название файла, номер столбца и кучу всего, так что тебе в гуе не придётся ломать голову над тем, как отобразить ошибку. Как такое может хранить код ошибки?
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 22.01.2011 в 20:50.
Obey-Kun вне форума Ответить с цитированием
Старый 22.01.2011, 20:57   #23
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
А вот эксепшн о парсинге может хранить внутри себя номер строки, название файла, номер столбца и кучу всего, так что тебе в гуе не придётся ломать голову над тем, как отобразить ошибку. Как такое может хранить код ошибки?
http://programmersforum.ru/showpost....37&postcount=7
Ну как в первом пункте. Класс ошибок/уведомлений с enum'ами, строками и прочим.
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Старый 22.01.2011, 21:13   #24
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

А зачем изобретать велосипед, когда для этого предназначены эксепшны?
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 22.01.2011, 22:36   #25
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
По умолчанию

Значит теперь вы за исключения :P
Тогда ситуация представляется следующим образом:
класс исключений для каждого модуля, хранящий ID ошибки, ID модуля/класса (на всякий случай) и строки-пояснения. Конструктор будет принимать ID ошибки.
В случае с парсерами: каждый отдельный парсер может иметь свои исключительные ситуации. Делать ли по отдельному классу на каждый парсер - не знаю. Возможно можно будет ограничиться одним классом.

P.S. Три человека в теме =(
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Старый 22.01.2011, 22:53   #26
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

http://www.linux.org.ru/forum/development/5820291 -- можешь почитать обсуждение
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка ошибок kardinal94 Общие вопросы Delphi 2 21.11.2010 20:23
Обработка ошибок Liones БД в Delphi 12 04.12.2008 07:22
Обработка ошибок Ivanich JavaScript, Ajax 1 24.04.2008 22:49
Обработка ошибок в Delphi 7 Наташкин БД в Delphi 3 21.12.2007 22:07
Обработка ошибок. Serviceprofi Помощь студентам 7 19.11.2007 15:12