Обработка исключительных ситуаций в ОС ОМ - часть 2
Внутри задачи может быть определено несколько уровней реакций на исключительные ситуации. Установка уровня реакции образует новый уровень с номером на единицу больше предыдущего. Этот номер можно получить в обратном параметре примитива установки уровня реакции. При возникновении исключительных ситуаций управление будет передано на подпрограмму, указанную в уровне с максимальным номером, реагирующем на данную группу исключительных ситуаций.
На самом нижнем уровне находится подпрограмма ОС, которая устанавливает реакцию на все группы исключительных ситуаций.
В подпрограмме, перехватившей исключительную ситуацию, можно организовать три типа обработки исключительных ситуаций:
1) После обработки исключительной ситуации в подпрограмме не продолжать прерванную программу.
2) После обработки исключительной ситуации можно продолжить выполнение прерванной программы либо с предопределенной точки, либо с точки возврата из подпрограммы, сгенерировавшей данную ситуацию.
3) В зависимости от какого-либо условия в подпрограмме обработки исключительных ситуаций можно пойти либо по первому пути, либо по второму.
В подпрограмме обработки исключительных ситуаций можно выдать стандартную диагностику ОС по данной исключительной ситуации в стандартный файл выдачи.
Для генерации исключительной ситуации у другой задачи существует примитив "Послать плохой ответ" (смотри "Примитивы сообщений в ОС ОМ").