Составители:
блоков 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
- …
- следующая ›
- последняя »
