Подтвердить что ты не робот

Можно ли игнорировать исключение только один раз?

Когда возникает исключение, отладчик дает мне следующее сообщение:

введите описание изображения здесь

Я могу выбрать игнорировать исключение, проверив ignore this exception type.
Однако это игнорирует это исключение во всех будущих проектах, что хуже, чем бесполезно, потому что я не хочу игнорировать исключения в каждом проекте; Я просто хочу игнорировать их в этом прогоне.

Используя ToolsAPI, существует способ:

A - игнорировать исключения для этого запуска, или B - игнорировать исключения только для этого проекта, или
C - восстановить настройки игнорирования при перезапуске Delphi?

Если я могу сделать A, B или C, моя проблема решена.

Я знаю, что данные ignore exception хранятся в:

HKEY_CURRENT_USER\Software\Embarcadero\BDS\17.0\Debugging\Embarcadero Debuggers\Language Exception Classes

Моим предпочтительным вариантом было бы использовать ToolsAPI для исправления сообщения и добавления флажка ignore this exception for this session only.
Но если это не доступно, я в порядке с беспорядком в реестре.
Если я вернусь в реестр, я хотел бы заставить Delphi перезагрузить настройки, поэтому мне не нужно перезапускать IDE.

Для записи я использую Сиэтл, но я бы предпочел, чтобы это работало с 2007 года.

Я проверил ToolsAPI, но IOTAFileFilterWithCheckEncode выглядит не связанным, и я думаю, что IOTABreakpoint80 применяется только к точкам останова, установленным пользователем.

У меня пока нет источника, потому что я не уверен, что я хочу, используя ToolsAPI, и если это не так, я просто вернусь к использованию внешнего приложения, которое записывает вышеупомянутый реестр, запускает Delphi и восстанавливает ключ реестра. Я надеюсь, что там будет более чистый путь.

4b9b3361

Ответ 1

К сожалению, исключение, игнорирующее настройки, - это глобальные параметры IDE, а не параметры проекта, поэтому всякий раз, когда вы меняете их, изменения повлияют на все ваши проекты.

Я хочу, чтобы Embarcadero добавила это в параметры проекта, чтобы у нас могли быть разные параметры исключения исключений для разных проектов.

В любом случае после того, как вы проверите ignore this exception type и нажмите кнопку Continue или Break, глобальные настройки IDE будут изменены, и упомянутое исключение добавляется в список Exception types to ignore в разделе
< Options->Debugger Options->Embarcadero Debugger->language Exceptions

Типы исключений для игнорирования

В моем случае я добавил исключение EDivByZero в качестве примера.

Позже вы можете просто установить или снять флажок перед определенным исключением, чтобы контролировать, игнорирует ли IDE Delphi это или нет.

Теперь можно изменить эти параметры с помощью ToolsAPI? Этого я не знаю, так как у меня нет опыта работы с ToolsAPI.

Надеюсь, я мог бы по крайней мере указать вам в правильном направлении.