Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > exceptions в секции finally некорректно работают


Автор: Наталья2022 25.8.2022, 12:22

Добрый день!

В EurekaLog ошибка или я что-то делаю не так и мой код ошибочный? Пытаюсь выполнить данный код. Без EurekaLog отображает 4 сообщения:
1919
5=1
1920
1

С EurekaLog отображает только
1919
а потом проект вылетает с ошибкой
Application made attempt to free invalid or unknown memory block

В чём может быть дело? Разве нельзя использовать вложенные обработчики исключений в секции finally?

Код:

Код

   try
      try
         raise Exception.Create('1');
      finally
         try
            raise Exception.Create('100'); //если эту строку убрать, все норммально
         except
            on E:Exception do begin
            end;
         end;
      end;
   except
      on E:Exception do begin
         ShowMessage('1919');
         ShowMessage('5='+E.Message); //вод здесь выходит ошибка Application made attempt to free invalid or unknown memory block
         ShowMessage('1920');
         raise Exception.Create(E.Message);
      end;
   end;



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)