Составители:
Для удобства в каждом примере в окне приложения отображается
последовательность текстовых сообщений, сопровождающих процесс
обработки исключения.
2. Рассмотреть механизм простейшего обработчика исключений.
Блок
try/catch перехватывает исключение при вызове процедуры ForceException,
которая порождает исключение доступа к памяти. На рис. 6.1 показано окно
программы, сообщения в котором позволяют отслеживать ход выполнения
процедуры.
Рис. 6.1. Окно, предназначенное для наблюдения за работой простейшего
обработчика исключений
В примере исключения перехватываются внутри блока catch (...) и не
приводят к системной ошибке.
void CExceptionsView::OnExceptionsSimplehandler()
{
CDC *pDC = GetDC();
CSize cSize = pDC->GetTextExtent( "A", 1 ); // получить вертикальный
размер текста
int vSize = cSize.cy, iLine = 0;
CString csText;
Каждый из обработчиков начинается с команды получения контекста
устройства, а затем вызывает функцию GetTextExtent, предназначенную для
определения размера строки текста по вертикали. Это значение используется
для разделения строк при отображении сообщений. Кроме того, вызываются
43
Для удобства в каждом примере в окне приложения отображается последовательность текстовых сообщений, сопровождающих процесс обработки исключения. 2. Рассмотреть механизм простейшего обработчика исключений. Блок try/catch перехватывает исключение при вызове процедуры ForceException, которая порождает исключение доступа к памяти. На рис. 6.1 показано окно программы, сообщения в котором позволяют отслеживать ход выполнения процедуры. Рис. 6.1. Окно, предназначенное для наблюдения за работой простейшего обработчика исключений В примере исключения перехватываются внутри блока catch (...) и не приводят к системной ошибке. void CExceptionsView::OnExceptionsSimplehandler() { CDC *pDC = GetDC(); CSize cSize = pDC->GetTextExtent( "A", 1 ); // получить вертикальный размер текста int vSize = cSize.cy, iLine = 0; CString csText; Каждый из обработчиков начинается с команды получения контекста устройства, а затем вызывает функцию GetTextExtent, предназначенную для определения размера строки текста по вертикали. Это значение используется для разделения строк при отображении сообщений. Кроме того, вызываются 43
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »