![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Jcs |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 1.10.2003 Репутация: нет Всего: нет |
Скажите, насколько часто вы используете исключения? Не добавляют ли они больше проблем, чем преимуществ (раздувание кода, быстродействие)? Или они должны использоваться только в самых крайних случаях? Стоит ли при их использовать, если возможна запись по нулевому поинтеру, или следует использовать обычную проверку (к примеру, при реализации пользовательского списка)? Заранее спасибо.
|
|||
|
||||
NiJazz |
|
||||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Как очевидно их преимущество.
Нет. Наоборот - помогают их решить. Исключения - это уже с появления ООП. То есть та же Windows работает не без них. |
||||
|
|||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Обычная практика. С использованием исключений код становится более прозрачным и лаконичным
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 2 Всего: 22 |
иключения по своей сути задумывались как упрощенная система отлова ошибок и обработки их...
ну и имхо очень удобная получилась система ) часто использую в больших программах, в мелких не имеет смысла. |
|||
|
||||
RAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Я программирую, основываясь на двух довольно удобных изобретениях в ООП - исключения и смарт-поинтеры. Первые позволяет легко генерировать и обрабатывать ошибки, а вторые, при этом, позволяют избежать утечек памяти. Всё это делает код очень понятным и небольшим.
Но при этом я против использования исключений в штатных случаях. Исключения - это ошибки или другие исключительные ситуации. Если исключения использовать часто, для выхода из вложенных циклов, или ещё каких вещей, то это только усложнит программу. Но, это только, моя позиция. |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
RAN, напиши статейку для факю "исключения и смарт-поинтеры"
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
RAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Step, не раньше выходных. Но сделаю, раз считаете нужным.
|
|||
|
||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Если кому интересно, вот дискуссия по данному вопросу, которая проходила на одном из форумов
http://borland.xportal.ru/forum/viewtopic.php?t=6613 -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
RAN, нужно, пиши и отправляй мне или любому модератору по факю с++...
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
C'hoosen++ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 21.1.2004 Репутация: нет Всего: нет |
Я исключения использую редко, и действительно, чем больше программа,
тем больше используешь исключения. |
|||
|
||||
Jcs |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 1.10.2003 Репутация: нет Всего: нет |
Можно ли задать пользовательский абстрактный тип исключения? Например, запись по нулевому указателю или по отрицательному индексу, чтобы далее генерировал их не сам юзер, а приложение?
Хотя в этом случае, наверное, язык уже будет высокоуровневым.. |
|||
|
||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Что значит "не сам юзер, а приложение?". Исключение генерит всегда именно приложение, а не пользователь. И что такое "абстрактный тип исключения"?
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Наверное, он имел в виду оператор throw. |
|||
|
||||
Jcs |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 1.10.2003 Репутация: нет Всего: нет |
Я имею в виду возможность пользователя описать не конкретный случай исключительной ситуации, как например
, а саму ситуацию, чтобы приложение само определяло, что есть попытка обратиться по нулевому адресу и генерило соответствующее описанное пользователем исключение. В общем, чтобы пользователю не надо было проверять указатели на ноль, если данный кусок кода находится в критической секции и ситуация обращения по нулевому указателю была описана как исключительная. |
|||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Jcs
не совсем въехал ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |