Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Считается ли дурным тоном в создаваемом проекте не обрабатывать исключения ? Недавно довелось ознакомиться с процессом разработки одной команды. Делали клиентскую часть, 4 человека, пол года работы. Тим лид строго запретил обрабатывать исключения... Одному мне это кажется неправильным, или подобное часто практикуется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2013, 18:30 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
stuffy.regСчитается ли дурным тоном в создаваемом проекте не обрабатывать исключения ? Недавно довелось ознакомиться с процессом разработки одной команды. Делали клиентскую часть, 4 человека, пол года работы. Тим лид строго запретил обрабатывать исключения... Одному мне это кажется неправильным, или подобное часто практикуется? Скорее всего ты либо не правильно понял тимлида, либо речь шла об ограничении тех видов исключений, обработка которых зашита в глобальном обработчике исключений и осуществляется централизованно. Сам посуди. Если ты в своем коде перехватил исключение и обработал его нестандартным образом, выведя его на экран с помощью MessageBox, тогда как все остальные ошибки у вас выводятся специальным диалогом с возможностью отправки ошибок в службу поддержи, ясно, что это никогда не будет одобрено тимлидом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2013, 19:10 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Анатолий Широковstuffy.regСчитается ли дурным тоном в создаваемом проекте не обрабатывать исключения ? Недавно довелось ознакомиться с процессом разработки одной команды. Делали клиентскую часть, 4 человека, пол года работы. Тим лид строго запретил обрабатывать исключения... Одному мне это кажется неправильным, или подобное часто практикуется? Скорее всего ты либо не правильно понял тимлида, либо речь шла об ограничении тех видов исключений, обработка которых зашита в глобальном обработчике исключений и осуществляется централизованно. Сам посуди. Если ты в своем коде перехватил исключение и обработал его нестандартным образом, выведя его на экран с помощью MessageBox, тогда как все остальные ошибки у вас выводятся специальным диалогом с возможностью отправки ошибок в службу поддержи, ясно, что это никогда не будет одобрено тимлидом. Глобальном обработчике это до самого верху стек раскручивают, а как узнают о конкретном месте возникновения исключения? Не лучше ли самому поймать исключение, вывести на экран, и сделать rethrow с добавлением к строке информации о месте возникновения исключения, или использовать для этого std::throw_with_nested(std::logic_error(std::string(__FILE__) + std::to_string(__LINE__) + __FUNCTION__)); ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2013, 22:48 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Считается ли дурным тоном в создаваемом проекте не обрабатывать исключения ? Нет, в общем случае. Вообще, в с++ исключения можно вообще не использовать. Недавно довелось ознакомиться с процессом разработки одной команды. Делали клиентскую часть, 4 человека, пол года работы. Тим лид строго запретил обрабатывать исключения... Одному мне это кажется неправильным, или подобное часто практикуется? Не часто, но бывает. В современном с++ безусловно выглядит странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2013, 23:42 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
stuffy.regОдному мне это кажется неправильным, или подобное часто практикуется? Сама по себе задача обработки исключения порождает еще целый ворох проблем. А именно - как обработать? Игнорировать? Логгировать? Обернуть в другой тип исключения и передать наверх? e.t.c. Поэтому иногда лучше ничего не сделать чем "замылить" ошибку, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 00:12 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
С исключениями главное - единый подход во всем приложении, иначе будет несопровождаемое месиво. А вообще это конечно скорее религиозный вопрос, чем технический. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 01:51 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
maytonstuffy.regОдному мне это кажется неправильным, или подобное часто практикуется? Сама по себе задача обработки исключения порождает еще целый ворох проблем. А именно - как обработать? Игнорировать? Логгировать? Обернуть в другой тип исключения и передать наверх? e.t.c. Поэтому иногда лучше ничего не сделать чем "замылить" ошибку, Вообще ничего не делать, даже не выводить и не логировать сообщение исключения, и не реализовывать std::unexpected_handler() ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 01:59 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Мне трудно понять что имел в виду тот ПМ. Но я вижу его месседж в том чтобы молясь богу не разбить себе голову. Хватает кодов возврата, errno, GetLastError e.t.c. для решения задачи ? Хватает ? - Пользуйтесь. Для языков и систем разработки где НЕЛЬЗЯ по другому получить состояние ошибки - использовать обязательную обработку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 02:10 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков, уточнил еще раз. В коде нет связок try-catch. На сервер информация об ошибках не отправляется. Это клиентская часть он-лайн игры. Предусмотренно стандартное окно сообщения об ошибке. Используется при парсинге протокола: проверяется наличие некоторых ключей json-a. Причем не всех. Если не нашли то что проверяли - сообщение об ошибке и рестарт игры. Если не нашли и проверки на существование ключа не было - все просто падает. В игровой механике так же в случае любой ошибки все падает. Это был мой первый опыт с гемдевом. Может это специфика индустрии и у них часто так принято? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 02:12 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyС исключениями главное - единый подход во всем приложении, иначе будет несопровождаемое месиво. А вообще это конечно скорее религиозный вопрос, чем технический. Да, знаю из бесед, что этого тим лида год назад не взяли в яндекс, проблемы на интервью были как раз с вопросами про обработку исключений. (* это не сарказм, просто совпадение, я слышал от него самого, что была куча вопросов на эту тему) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 02:19 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
stuffy.reg Это был мой первый опыт с гемдевом. Может это специфика индустрии и у них часто так принято? Точно нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 07:39 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
MasterZivstuffy.regЭто был мой первый опыт с гемдевом. Может это специфика индустрии и у них часто так принято? Точно нет. Ну я бы так не говорит однозначно. Во всех игрушках что я играл, периодически происходил вылет на самом интересном месте. Отсюда вывод - скорее у них принято как раз обратное - не ловить исключения :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 14:40 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Есть еще вариант что по некоторым соображенииям экономят ресурсы. Ну типа... исключения которые валят в цикле - это нагрузка на вычислительную систему. Проще проверить return code. Как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 15:06 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
maytonЕсть еще вариант что по некоторым соображенииям экономят ресурсы. Ну типа... исключения которые валят в цикле - это нагрузка на вычислительную систему. Проще проверить return code. Как-то так. Ну это у них уже исключение головного мозга :) Как раз таки основное преимущество исключений над кодом возврата, что код возврата всегда должен проверяться на каждой итерации, а исключение можно ловить один раз на весь цикл: http://forums.pcsx2.net/Thread-blog-C-exceptions-can-be-an-optimization ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 15:14 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Наверное есть разные механизмы генерации исключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 16:32 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Обработка исключений вообще и спецификации исключений, в частности, добавляют накладные расходы времени исполнения, даже если никакие исключения не возникают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 16:51 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovОбработка исключений вообще и спецификации исключений, в частности, добавляют накладные расходы времени исполнения, даже если никакие исключения не возникают. Получение кода возврата, его проверка и условный переход в сумме добавляют больше накладных расходов - пример по ссылке выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 18:34 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Возможность написать: Код: sql 1. 2. 3. 4. 5. не зависит от (не)желания использовать исключения. P.S. И давно try/catch стал дешевле if-а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 18:51 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВозможность написать: Код: sql 1. 2. 3. 4. 5. не зависит от (не)желания использовать исключения. P.S. И давно try/catch стал дешевле if-а? Да, сейчас сам проверил чего там пишут по ссылке, в общем случае в 2(MSVC)-4(GCC) раза медленней исключения чем код возврата, по крайней мере на таких простых примерах. http://ideone.com/rx4qqF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 19:34 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovОбработка исключений вообще и спецификации исключений, в частности, добавляют накладные расходы времени исполнения, даже если никакие исключения не возникают. Обработка кодов возвратов также добавляет накладные расходы времени выполнения, даже если ошибок не возникает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 20:36 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
MasterZivBasil A. SidorovОбработка исключений вообще и спецификации исключений, в частности, добавляют накладные расходы времени исполнения, даже если никакие исключения не возникают. Обработка кодов возвратов также добавляет накладные расходы времени выполнения, даже если ошибок не возникает. Я бы даже сказал больше. Если взять С++ и специально не извращаться (через throw() у каждой функции), то при использовании кодов возврата компилятор сгенерит и код для поддержки исключений (вдобавок к юзерской обработке кодов возврата). Т.е. для случая "даже если никакие исключения не возникают" коды будут медленнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 21:05 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, а если так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 07:05 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyMasterZivпропущено... Обработка кодов возвратов также добавляет накладные расходы времени выполнения, даже если ошибок не возникает. Я бы даже сказал больше. Если взять С++ и специально не извращаться (через throw() у каждой функции), то при использовании кодов возврата компилятор сгенерит и код для поддержки исключений (вдобавок к юзерской обработке кодов возврата). Т.е. для случая "даже если никакие исключения не возникают" коды будут медленнее. Анатолий, полностью отключить исключения — это один флаг компилятора. Кто не любит исключения, кончено, хорошо про этот флаг знают. Единственно, я совсем не понимаю, как в этом случае будет работать STD, хотя его конечно можно и вообще не использовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 10:19 |
|
||
|
Обработка исключений отсутствует
|
|||
|---|---|---|---|
|
#18+
? http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Exceptions Я думаю, в такой конторе здоровой как гуголь, существует не один стандарт кодирования. То, что для каких-то проектов исключения могут не подходить, я вполне согласен. Тем не менее, то, что исключения — генеральная линия развития С++ - несомненно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2013, 10:29 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38391033&tid=2019984]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 17ms |
| total: | 193ms |

| 0 / 0 |
