runewalsh писал(а):- Код: Выделить всё
uses Math;
SetExceptionMask(GetExceptionMask - [exZeroDivide]);
Спасибо большое,
Теперь вроде как надо:
Проект project1 вызвал класс исключения 'External: SIGFPE'.
В файле 'unit1.pas' на строке 34:
y:=1/x
Почему бы просто не сравнить знаменатель с нулём перед делением?
В общем случае обрабатываются любые функции, например, квадратный корень из икс или логарифм. В каждой функции свои особенности ОДЗ.
Надеюсь в лазарусе исключения будут ловится. В старых версиях оно работало.
А еще точнее, функция заранее неизвестна, есть ли в ней знаменатель вообще.
Добавлено спустя 1 час 8 минут 53 секунды:try except end не работает- Код: Выделить всё
begin
try
y:=1/x
except
showmessage('Исключение')
end;
Извините, может, спрашиваю очевидное, но теперь окно с ошибкой появляется даже в блоке try except end, но исключение должно перехватываться.
Запутался я

В Delphi 7 код работает, как положено, с перехватом исключения.