Составители:
блоков 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
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »