Cтраница 4
Даже если обработчик может обработать исключение и независимо от того, делает ли он какую-либо обработку этого исключения, он может повторно возбудить исключение для последующей обработки его вне этого обработчика. [46]
![]() |
Проверка работы службы HTTPService с помощью браузера. [47] |
Нас интересуют обработчики ServiceExecute, Servicepause и ServiceContinue. Обработчик ServiceExecute отличается от рассмотренного ранее. Вначале мы присваиваем значение True свойству Active объекта IdHTTPServerl, в результате чего запускаем сервер. Сервер IdHTTPServerl работает с собственными потоками, поэтому в главном потоке службы не следует размешать никакого другого кода, связанного с этим сервером, и главный поток, таким образом, сосредоточен на обработке команд менеджера служб, которая выполняется в цикле. Для того чтобы цикл не крутился вхолостую, мы передаем методу processRequests значение True, которое, как мы помним, заставляет vfCTOfl приостанавливать выполнение потока до получения очередной команды от менеджера. По выходе из цикла, что означает завершение работы службы, мы присваиваем значение False свойству Active объекта IdHTTPServerl. Обработчики ServicePause И ServiceContinue вызываются, соответственно, когда менеджер служб посылает команду приостановить или возобновить работу службы. Установка и запуск службы выполняются так же, как и в случае BeepService. [48]
Балычник и обработчик рыбы, занятые на рубке голов красной рыбы. [49]
Осталось написать обработчик щелчка ва разделе меню Новый. [50]
Важна последовательность обработчиков catch. Обработчики, которые перехватывают объекты производных классов, должны быть помещены перед обработчиками, которые перехватывают объекты базового класса; иначе, обработчик базового класса перехватит как объекты самого базового класса, так и объекты всех производных классов. [51]
Рабочее место обработчика представляет собой подвесной стол ( 600x800x800 мм), покрытый текстолитом, линолеумом. К крышке стола, в которую вмонтированы трубы вытяжной вентиляции, присоединена решетка. Рядом с решеткой имеется приемник крупного облоя с откидывающейся планкой. На двух направляющих вставлен мешок из плотной тканч для сбора отходов. [52]
Последовательность записи обработчиков влияет на способ, которым исключение будет обрабатываться. [53]
Способ функционирования обработчиков COMMAND и UPDATE COMMAND UI зависит от формата переносимых данных. Подробности рассматриваются в следующих разделах. [54]
При использовании обработчика завершения курсор будет приведен в нормальное состояние независимо от того, произошла исключительная ситуация или нет, но обрабатываться исключительная ситуация при этом не будет. Рассмотрим далее синтаксис обработки исключений. [55]