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

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

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

C++ Создание типа данных
C++ Использование файлового типа данных
C++ Предопределение типа данных С++
Изменения типа данных C++
Как отловить переполнение границ типа (INT)? C++
C++ Определение типа данных
Ветвление в зависимости от типа данных C++
C++ Распознавание типа данных в строке
Возврат объекта шаблонного типа от типа Type из специализации шаблона метода от того же типа C++
C++ Переполнение типа long long
C++ Переполнение типа с плавающей точкой
C++ Объясните непрогнозируемый результат переполнение типа char

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6470 / 2245 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
02.05.2009, 10:58     отловить переполнение типа данных #2
Привет,
Можно узнать какая ошибка возникает? И на каком компиляторе.
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 секунд
когда я хочу присвоить переменной значение которое не влезает в тип переменной, то это ловит стандартный обработчик. А мне нужно ловить это исключение самостоятельно.
Humanitis
 Аватар для Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
02.05.2009, 12:34     отловить переполнение типа данных #4
Kein, Покажи код
Vourhey
Почетный модератор
6470 / 2245 / 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
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.
Yandex
Объявления
02.05.2009, 12:53     отловить переполнение типа данных
Ответ Создать тему
Опции темы

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