Остановимся на последнем методе локализации и реализуем протоколирование информации обо всех сбоях в программе в файл для последующей локализации сбоев и анализа источника ошибок в исходном коде. Предлагается разработать компонент, реализующий обработку исключений и ведение - насколько это возможно - подробного протокола исключений. Нас интересуют класс исключения, текст сообщения об ошибке и, желательно, GUID ошибки. Дата и время исключения, имя пользователя могут оказаться нелишними. Также пригодятся данные о конфигурации клиентской машины. Таким образом, цель разработки компонента состоит в ведении подробного протокола всех возникающих в программе исключений. Протокол ведется в локальном файле. Основная функция компонента состоит в том, что он устанавливает на себя обработчик исключительных ситуаций, а также обработчик процедуры Assert. Компонент может быть настроен на использование файла протокола ошибок, в котором будет сохраняться вся доступная информация о происходящих исключениях. После обработки (протоколирования) возникающего исключения компонент эскалирует (raise) ее по стеку вызовов. Рассмотрим методы установки собственных обработчиков исключений.