Delphi try except и ошибка деления на ноль

Компьютеры программирование

Сделал вот такую программу.
procedure TForm1.Button1Click(Sender: TObject);
var R, d, f: real;
begin
R:=strtofloat(Edit1.Text);
d:=strtofloat(Edit2.Text);
try
f:=R*d/(2*d-R);
if f>0 then Label4.Caption:='изображение действительное'
else Label4.Caption:='изображение мнимое';
Label5.Caption:='f=' + floattostr(abs(f));
except
if (2*d)=R then begin
Label4.Caption:='изображение отсутствует';
Label5.Caption:='f=бесконечность';
end
else ShowMessage('Неизвестная ошибка');
end;
end;
Скомпилировал, при проверке исключения выдаёт ошибку SIGFPE, несмотря на то, что try except проставлен. Сохранил программу, запустил экзешник -- всё работает как надо. Снова зашёл в Лазарус, скомпилировал, опять SIGFPE. В чём дело?

Примечание:
А чо делать? Оно же не компилируется!
Ответы:
В режиме отладки показываются даже те исключения, которые подавит try...except
Это для того, чтобы ты сам знал, что исключение все-таки происходит


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.