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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2016, 15:28   #1
Alexey!
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 18
По умолчанию Генерация исключительных ситуаций математическими функциями

Здравствуйте!

Должна ли возникать и как сделать генерацию исключительной ситуации при некорректном аргументе матем-й функции?
Код:
#include <math.h>

void main(void)
{ 
log(float(0));
log(float(-1));

}
Alexey! вне форума Ответить с цитированием
Старый 31.10.2016, 15:44   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

http://en.cppreference.com/w/cpp/num...th_errhandling
p51x вне форума Ответить с цитированием
Старый 31.10.2016, 16:31   #3
Alexey!
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 18
По умолчанию

Благодарю! Возможно подскажете, как генерировать исключение при выходе за предел массива?
Alexey! вне форума Ответить с цитированием
Старый 31.10.2016, 16:34   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Использовать at для доступа (например, http://en.cppreference.com/w/cpp/container/array/at)
p51x вне форума Ответить с цитированием
Старый 31.10.2016, 17:39   #5
Alexey!
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 18
По умолчанию

Благодарю. Возможно подскажете, как генерировать исключение при выходе за предел выделенной памяти?
Alexey! вне форума Ответить с цитированием
Старый 31.10.2016, 18:18   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Код:
if (выход_за_пределы_выделенной_памяти)
  throw std::out_of_range("выход за пределы выделенной памяти");
pu4koff вне форума Ответить с цитированием
Старый 31.10.2016, 18:44   #7
Alexey!
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 18
По умолчанию

Уважаемый pu4koff! Возможна ли автоматическая генерация системой без пользовательского кода (т.е. без ...if (выход_за_пределы_выделенной_памяти )...)?
Alexey! вне форума Ответить с цитированием
Старый 31.10.2016, 18:52   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Alexey! Посмотреть сообщение
Уважаемый pu4koff! Возможна ли автоматическая генерация системой без пользовательского кода (т.е. без ...if (выход_за_пределы_выделенной_памяти )...)?
В общем случае система не знает ничего о выделенной памяти и ничего сама не сгенерирует. Если сгенерирует - для этого ничего писать не нужно, оно само будет работать. Если не сгенерирует - что-то где-то пойдёт не так.
pu4koff вне форума Ответить с цитированием
Старый 31.10.2016, 18:55   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Какой именно памяти-то? Как вы ее выделяете?
про .at в контейнерах сказали ж уже.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка исключительных ситуаций С++ Multiman Помощь студентам 2 06.04.2012 19:39
Обработка исключительных ситуаций Anubys Общие вопросы C/C++ 2 12.03.2012 12:09
Обработка исключительных ситуаций Claster Общие вопросы по Java, Java SE, Kotlin 2 14.10.2009 14:24