Access 2002

Состояние программы на момент возникновения ошибки


Пользу от приведенного в этом примере программного кода вы почувствуете, когда будете определять состояние программы на момент возникновения ошибки. Получив сообщение об ошибке выполнения приложения, пользователь может щелкнуть на кнопке Log message То File в расширенной части диалогового

окна и записать текущее состояние программы в файл регистрации. Для назначения файла регистрации служит свойство LogFile коллекции SavedErrors. Получив от пользователя этот файл, вы сможете точно определить, что происходило в момент возникновения ошибки.

Другим преимуществом использования методов EnterProc и ExitProc, вызываемых в точках входа и выхода процедур, является то, что класс Procedure фиксирует время вызова этих методов. Используя подобную информацию, можно определить, сколько времени выполнялась каждая процедура. Это называется профилированием (profiling) программы. Профилирование помогает выделить подпрограммы, которые нуждаются в оптимизации.

В начале главы было сказано, что ошибки бывают трех видов: ошибки компиляции, ошибки времени выполнения и логические ошибки. Обо всех ошибках компиляции VBA информирует вас в ответ на команду Debug  Compile. Ошибки времени выполнения обрабатывают обработчики ошибок. Но что делать с логическими ошибками? Будь вы идеальным программистом, вы никогда не допускали бы ошибок, всегда точно знали, что и как должна делать программа и что и как будет делать Access. Но настоящий профессионал не рассчитывает на такое совершенство, он смотрит на вещи более реально, а потому заранее продумывает стратегию борьбы с логическими ошибками. Обнаруживать такие ошибки, именуемые на сленге программистов жучками, труднее всего. В оставшейся части этой главы мы рассмотрим некоторые полезные методы и приемы.

Комментарии закрыты