procedure _ExecuteQuery(aQuery:TpFIBQuery; aExceptionText:string='');И ничего хорошего не получилось. Общий обработчик Application.OnException начал получать пустое исключение с E.Message = ‘’. Начал писать вопрос на Vingrad Forum. Пока писал, вспомнил, что для перевозбуждения последнего исключения не обязательно явно указывать это исключение. Попробовал вместо “raise E;” вызвать просто “raise;” - всё заработало.
begin
try
aQuery.ExecQuery;
except
on E:EDatabaseError do
begin
E.Message := aExceptionText + E.Message;
raise E;
end;
end; // я так понимаю, E.destroy происходит здесь?
end;
Я так понимаю что деструктор исключения вызывается в конце блока except .. end.
Ссылка по теме:
- Handling exceptions in Delphi
- Александр Алексеев - Обработка ошибок
Комментариев нет:
Отправить комментарий