поведение функции не соответс
Автор admin Вторник, 5 мая 2009 11:32
поведение функции не соответствует ее спецификации. Асинхронные события Система signal() из стандартного языка С и все аналогичные системы обрабатывают асинхронные события, то есть события, которые происходят вне нормальной последовательности выполнения программы и появление которых невозможно предугадать. Исключения С++ не могут использоваться для обработки асинхронных событий, потому что исключение и его обработчик принадлежат к одному стеку вызова. Другими словами, работа исключений основана на динамической цепочке вызовов функций в стеке программы (они имеют «динамическую видимость»), тогда как асинхронные события должны обрабатываться совершенно отдельным кодом (как правило — процедурами обработки прерываний или циклами событий), который не входит в нормальную последовательность выполнения программы. Не запускайте исключения из обработчиков прерываний! Программирование с учетом исключений 55 Впрочем, это не значит, что асинхронные события не могут ассоциироваться с исключениями. Просто обработчик прерывания должен отработать как можно быстрее и вернуть управление. Обычно для этого в обработчике
Комментарии закрыты.
Последние комментарии