Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.22;
Скачать: CL | DM;

Вниз

Обработка Eoverflow - как?   Найти похожие ветки 

 
R2D2   (2003-05-11 10:23) [0]

Я только начал разбираться с обработкой исключений, поэтому не могу понять почему, не смотря на использование try..except вылетает сообщение о исключительной ситуации... Как это можно поправить? :)
Вот мой вариант обработки:

try
tanH_bnH:=VarAsComplex(VarComplexTanH(VarAsComplex(bn)*h));
except
on EOverflow do
begin
if VarAsComplex(bn).Real>0 then
tanH_bnH:=VarComplexCreate(1,0) else
tanH_bnH:=VarComplexCreate(-1,0);
end;
end;

А если коротко - требуется подменить значение переменной в случае Overflow


 
Song ©   (2003-05-11 10:26) [1]

Такие исключение лучше не ловить, а исправлять глюк в программе, иначе можншь получить один большой глюк.
Если по существу, то on EOverflow do - лишнее.


 
R2D2   (2003-05-11 10:33) [2]

А разве есть способ узнать о том, что будет переполненние до исполнения кода (тобишь без использования try...except)?


 
Song ©   (2003-05-11 10:42) [3]

Нет, а разве я сказал, что можно?


 
R2D2   (2003-05-11 10:46) [4]

Последний вопрос перед снесением try...except и установкой if x>1000000 then bla-bla-bla :)) :
"Если по существу, то on EOverflow do - лишнее." - т.е. оставить так? :
try
tanH_bnH:=VarAsComplex(VarComplexTanH(VarAsComplex(bn)*h));
except
begin
if VarAsComplex(bn).Real>0 then
tanH_bnH:=VarComplexCreate(1,0) else
tanH_bnH:=VarComplexCreate(-1,0);
end;
end;

Все равно вылетает сообщение об ошибке....


 
Song ©   (2003-05-11 10:50) [5]

Убери в настройках Debuggerа опцию "Останавливаться на исключениях Дельфи"


 
R2D2   (2003-05-11 10:54) [6]

Огромное спасибо - работает !!!!



Страницы: 1 вся ветка

Текущий архив: 2003.05.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
3-70173
Maxim Pshevlotsky
2003-05-03 06:28
2003.05.22
Пользователи и Interbase


3-70126
ALI
2003-04-28 19:36
2003.05.22
Как экспортировать БД из MDB формата в GDB формат ?


1-70318
zom
2003-05-07 15:02
2003.05.22
Окно, открываемое из сервиса. Как убрать его из таксбара?


3-70162
Vanoshka
2003-05-02 13:22
2003.05.22
Базы данных InterBase


3-70101
Arkady
2003-04-29 15:34
2003.05.22
Пароль к базе данных Access 2000