crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> выход индекса за пределы дозволеного, философия
Litkevich Yuriy
  опции профиля:
сообщение 21.4.2010, 11:57
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


у меня возник вопрос - "а хорошо ли программе падать?"

Есть перегруженный оператор [], в него передаётся индекс, и внутри оператора сделан assert на случай выхода индекса за границы разрешённого диаппазона.

Вроде так многие делают. Но правильно ли это?

Может правильнее поступать как-то иначе?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 21.4.2010, 13:10
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


в случае источником индекса со стороны пользователя, сравнительно просто. А в случае если источник, информация пришедшая с коммуникационного ресурса, уже не так просто, разумеется касяк где-то в коде, в алгоритме. И всплывает не однозначно, может месяцами себя ни как не проявлять при непрерывной работе ПО.

И Ассерт, здесь не информативен, т.к. в релизе кроме как в консоль он ничего не пишет, а её никто не видит. Просто "Бац и программа вылетела"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Litkevich Yuriy   выход индекса за пределы дозволеного, философия   21.4.2010, 11:57
- - DIMEDROLL   Цитата(Litkevich Yuriy @ 21.4.2010, 11:57...   21.4.2010, 12:05
- - Litkevich Yuriy   вообще я всюду стараюсь использовать не просто int...   21.4.2010, 12:41
- - BRE   IMHO, в операторе [] выход за пределы контейнера э...   21.4.2010, 13:01
- - Litkevich Yuriy   в случае источником индекса со стороны пользовател...   21.4.2010, 13:10
- - BRE   Все внешние данные, не важно откуда они приходят, ...   21.4.2010, 13:21
- - Tonal   Цитата(Litkevich Yuriy @ 21.4.2010, 16:41...   22.4.2010, 7:27
- - Iron Bug   Цитата(BRE @ 21.4.2010, 16:01) IMHO, в оп...   22.4.2010, 8:35
|- - BRE   Цитата(Iron Bug @ 22.4.2010, 9:35) вот то...   22.4.2010, 9:01
- - Litkevich Yuriy   Другими словами Assert внутри оператора [], это вп...   22.4.2010, 11:31
- - Andrewshkovskii   Я так понял что BRE предлагает использовать провер...   22.4.2010, 12:10
- - Litkevich Yuriy   это-то понятно. Я для случая, если всё таки прозив...   22.4.2010, 12:18
|- - BRE   Цитата(Litkevich Yuriy @ 22.4.2010, 13:18...   22.4.2010, 12:29
- - Andrewshkovskii   А как ты можешь прозевать фиктивный индекс? Всмысл...   22.4.2010, 12:26
- - Iron Bug   имхо ассерты только для дебага. ну, в крайнем случ...   22.4.2010, 13:20
|- - Влад   Цитата(Iron Bug @ 22.4.2010, 13:20) имхо ...   23.4.2010, 11:24
- - Litkevich Yuriy   Цитата(Iron Bug @ 22.4.2010, 17:20) а так...   22.4.2010, 13:34
- - Andrewshkovskii   memory access violation ? вот тут обсуждалось   22.4.2010, 13:45
- - Litkevich Yuriy   Цитата(Andrewshkovskii @ 22.4.2010, 17:45...   22.4.2010, 13:47
- - Tonal   В Винде возникает системное исключение STATUS_ACCE...   23.4.2010, 8:46
- - Litkevich Yuriy   Цитата(Влад @ 23.4.2010, 15:24) в release...   23.4.2010, 11:41
|- - BRE   Цитата(Litkevich Yuriy @ 23.4.2010, 12:41...   23.4.2010, 11:43
|- - AD   Цитата(Litkevich Yuriy @ 23.4.2010, 12:41...   23.4.2010, 11:44
- - Litkevich Yuriy   Цитата(BRE @ 23.4.2010, 15:43) Собирай ре...   23.4.2010, 11:45


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 17:24