перехват текста ошибки внутри отчёта

отредактировано 05:47 Раздел: FastReport 4.0
есть диалог, по кнопке выполняется хранимая процедура(MS SQL)
try
sp.ExecSQL;
except
Set('Errmsg','''Some Error''');
end;
как получить текст ошибки? в Delphi я бы написал
try
sp.ExecSQL;
except
on E:Exception do
Set('Errmsg',E.Message);
end;
пробовал, FR ругается на on . Перерыл всю документацию, везде пишется что блоки try except поддерживаются , но нигде не указано как получить дескриптор ошибки.

help me

Комментарии

  • отредактировано 05:47
    Не совсем понял ваш пример, может это поможет?

    try
    i := 1/0;
    except
    ShowMessage(ExceptionClassName + ': ' + ExceptionMessage);
    end;
  • отредактировано 05:47
    Да, спасибо
    ShowMessage(ExceptionClassName + ': ' + ExceptionMessage);
    это уже решает пол проблемы
    но не всю, мне надо текст ошибки отобразить внутри очёта, ShowMessage проходит,
    а формирование отчёта прерывается,
    странно по логике: я весь обработал исключение, reraise не делал, можно ли как то в этом случае продолжить формирование отчёта?
    зы, прилагаю простенький пример , задача вывести ошибку прямо на лист отчёта
  • отредактировано 05:47
    Если поставить кавычки то работает:
    set('errmsg','ExceptionMessage');

  • отредактировано 05:47
    Спасибо, всё работает, тема закрыта

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.