Операционные системы. Марапулец Ю.В. - 48 стр.

UptoLike

Составители: 

блоков try/catch. Аналогичная обработка происходит автоматически во
внутреннем блоке try при генерации исходного исключения. Единственное
различие между ними заключается в том, что при входе программы во
внутренний блок catch внешний лок try исполняться не будет. Это дает
дополнительную возмож
б
ность проконтролировать ход выполнения приложения
и позволяет при необходимости предотвратить выполнение последующих
операторов
ecution has been "
"thrown to the outer catch block";
catch(
{
csText = "In outer catch all block, catching thrown exception";
Size*iLine++, csText );
csText = "End of process";
pDC->TextOut (10, vSize*iLine++, csText );
}
а рис. 6.2 представлен отчет, который генерируется во время
выполнения
Рис. 6
программы.
csText = "This line will not display because ex
pDC->TextOut( 50, vSize*iLine++, csText );
}
...) // перехват всех сообщений!!!
pDC->TextOut( 50, v
}
Н
модуля Nested Handlers.
.2. Отчет, генерируемый в процессе выполнения примера Nested Handlers
4. Рассмотреть пример неудачной обработки исключения.
Модуль Failed
Catch демонстрирует, что происходит в том случае, когда блоки try/catch
пытаются защитить выполнение определенного фрагмента программы, однако
не могут правильно перехватить исключение (программа наталкивается на
48
блоков try/catch. Аналогичная обработка происходит автоматически во
внутреннем блоке try при генерации исходного исключения. Единственное
различие между ними заключается в том, что при входе программы во
внутренний блок catch внешний блок try исполняться не будет. Это дает
дополнительную возможность проконтролировать ход выполнения приложения
и позволяет при необходимости предотвратить выполнение последующих
операторов программы.

           csText = "This line will not display because execution has been "
                 "thrown to the outer catch block";
           pDC->TextOut( 50, vSize*iLine++, csText );
     }
     catch(...)                // перехват всех сообщений!!!
     {
            csText = "In outer catch all block, catching thrown exception";
            pDC->TextOut( 50, vSize*iLine++, csText );
     }
     csText = "End of process";
     pDC->TextOut (10, vSize*iLine++, csText );
}

     На рис. 6.2 представлен отчет, который генерируется во время
выполнения модуля Nested Handlers.




Рис. 6.2. Отчет, генерируемый в процессе выполнения примера Nested Handlers

     4. Рассмотреть пример неудачной обработки исключения. Модуль Failed
Catch демонстрирует, что происходит в том случае, когда блоки try/catch
пытаются защитить выполнение определенного фрагмента программы, однако
не могут правильно перехватить исключение (программа наталкивается на

                                        48