(Изменить: теперь очевидно, что вопрос относил только к проверке во время разработки.)
Новый ответ:
Я не могу сказать, есть ли какие-либо инструменты, чтобы проверить это для вас. Pascal Analyzer, к примеру, нет.
Я могу сказать вам, однако, что в большинстве приложений Delphi, даже если бы был инструмент для проверки этого для вас, вы не получили бы результатов.
Почему? Поскольку основной цикл сообщений в TApplication.Run () оборачивает все вызовы HandleMessage () в блок обработки исключений, который перехватывает все типы исключений. Таким образом, в большинстве приложений у вас будет неявная / стандартная обработка исключений, составляющая около 99,999% кода. И в большинстве приложений эта обработка исключений будет составлять около 100% вашего собственного кода - 0,001% кода, не включенного в обработку исключений, будет автоматически сгенерированным кодом.
Если бы для этого был доступен инструмент, вам нужно было бы переписать Application.run () так, чтобы он не включал обработку исключений.
(Предыдущий ответ:
Обработчик события Application.OnException может быть назначен для перехвата всех исключений, которые не обрабатываются другими обработчиками исключений. Хотя это время выполнения и, возможно, не совсем то, что вам нужно (похоже, вы хотите идентифицировать их во время разработки), оно позволяет перехватывать любые исключения, не обработанные в другом месте. В сочетании с такими инструментами, как JCLDebug в Jedi Code Library , вы можете регистрировать трассировку стека, чтобы выяснить, где и почему произошло исключение, что позволит провести дальнейшее исследование и добавить обработку или предотвращение определенных исключений. вокруг виновного кода ... )