Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Kein
0 / 0 / 0
Регистрация: 02.05.2009
Сообщений: 6
#1

отловить переполнение типа данных - C++

02.05.2009, 09:30. Просмотров 1948. Ответов 5
Метки нет (Все метки)

Здравствуйте
У меня возник вопрос по сабжу.
допустим мы присваиваем переменной типа double что-нибудь такое : 0,7e-50000 ,естественно возникает ошибка.Как эту ошибку отловить? catch(...) её не ловит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2009, 09:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос отловить переполнение типа данных (C++):

Как отловить переполнение границ типа (INT)? - C++
Сразу напишу пример для наглядности: int fx = -2147483648 if(fx == -fx) { //ляляля } В 32 битах максимум и минимум...

Переполнение типа с плавающей точкой - C++
Добрый вечер, существует ли понятие переполнение float c UB как полагается?

Объясните непрогнозируемый результат переполнение типа char - C++
Есть тип char с диапазоном значений До 255 значения выводятся адекватно. От 256 до 383 выводит положительные числа n-255. Почему? ...

Нужен способ помещения разного рода типа данных в контейнеры типа массивов или структур - C++
Сабж. Нужен способ помещения разного рода типа данных в контейнеры типа массивов или структур или... пободного рода простых для восприятия...

Переполнение типа long long - C++
Добрый день. Была тут тема о возведении числа 201 в 5-ю степень. ТС попросил решение в целых числах и не мудрствуя лукаво я хотел...

Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа - C++
Доброго времени суток, пишу класс содержащий несколько std::set от разных типов, нужно сделать метод возвращающий указатель на нужное...

5
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.05.2009, 10:58 #2
Привет,
Можно узнать какая ошибка возникает? И на каком компиляторе.
0
Kein
0 / 0 / 0
Регистрация: 02.05.2009
Сообщений: 6
02.05.2009, 12:28  [ТС] #3
среда Borland builder 6.
возникает ошибка Debugger Exception Notification. Exception class Eoverflow with message "Floating point overflow" ну и то что мое число not a valid floating point value.

Добавлено через 21 минуту 30 секунд
когда я хочу присвоить переменной значение которое не влезает в тип переменной, то это ловит стандартный обработчик. А мне нужно ловить это исключение самостоятельно.
0
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
02.05.2009, 12:34 #4
Kein, Покажи код
0
Vourhey
Почетный модератор
6482 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.05.2009, 12:36 #5
Не знаю, как в билдере, _fpieee_flt существует.
Ну и, конечно, на никсах:
http://www.opennet.ru/man.shtml?topi...ry=3&russian=2
0
Kein
0 / 0 / 0
Регистрация: 02.05.2009
Сообщений: 6
02.05.2009, 12:53  [ТС] #6
Humanitis, я новичок и возможно что-то путаю=)

C++
1
2
3
4
5
6
7
8
try
    {
        double a=StrToFloat(Edit1->Text);
    }
    catch(...)
    {
        ShowMessage("Err");
    }


ну и в edit вводится что-то типа 0,7e-50000. и мое исключение ловится в WinMain catch (Exception &exception). я хотел бы ловить сам. как я понял из справки Exception ловит много чего (length_error;out_of_range итд) в том числе overflow_error.

как написать обработчик чтобы не проваливаться до обработчика в WinMain.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2009, 12:53
Привет! Вот еще темы с ответами:

Изменения типа данных - C++
Прошу помоч, написал програму для сортировки чисел от большего к меншему, заполнение идет вводом пользователем чисел. Только я написал там...

Строковые типа данных - C++
Дан текст, состоящий не менее чем из пяти слов. Написать программу, которая выполняет следующие преобразования: в первом слове делает за-...

Предопределение типа данных С++ - C++
Доброго времени суток) Столкнулась с проблемой - нужно было код из книги,написанный на паскале, перекодить в с++.Даны две структуры,и в...

Определение типа данных - C++
К примеру вводим число 5, нужно определить что это тип int Если вводим какие-то символы, нужно определить, что это будет string А если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
02.05.2009, 12:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru