Можно ли игнорировать исключение только один раз?
Когда возникает исключение, отладчик дает мне следующее сообщение:
![введите описание изображения здесь]()
Я могу выбрать игнорировать исключение, проверив 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 и восстанавливает ключ реестра. Я надеюсь, что там будет более чистый путь.
Ответы
Ответ 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.
Надеюсь, я мог бы по крайней мере указать вам в правильном направлении.