Составители:
csText += szCause;
pDC->TextOut( 90, vSize*iLine++, csText );
вается классом CResourceException,
который передает сообщение о недоступности запрашиваемого ресурса "A
required reso
довать после
их блоков,
{ д ошибки
n cause: ";
szCause;
);
}
catch !!!.
{
pDC->TextOut( 90, vSize*iLine++, csText );
throw; // передает исключение внешнему блоку catch
}
ис. 6.4. Окно, содержащее сообщения, которые возникают в процессе
ь т
оператор throw, а обработчик CResourceException - нет. Поскольку исключение
}
В этом блоке исключение перехваты
urce was unavailable" (рис. 6.4).
catch( CException *e )// данный блок должен сле
// предыдущ
// иначе компилятор выдаст ко
TCHAR szCause[255];
csText = "CExceptio
e->GetErrorMessage( szCause, 255 );
csText +=
pDC->TextOut( 90, vSize*iLine++, csText
(...) // перехват всех исключений
csText = "In inner catch all block: ";
pDC->TextOut( 90, vSize*iLine++, csText );
csText = "Throwing exception to outer catch block: ";
Р
порождения исключения, связанного с ресурсом
Следует обратит внимание на то факт, что блок catch(. ..) содержит
52
csText += szCause; pDC->TextOut( 90, vSize*iLine++, csText ); } В этом блоке исключение перехватывается классом CResourceException, который передает сообщение о недоступности запрашиваемого ресурса "A required resource was unavailable" (рис. 6.4). catch( CException *e )// данный блок должен следовать после // предыдущих блоков, { // иначе компилятор выдаст код ошибки TCHAR szCause[255]; csText = "CException cause: "; e->GetErrorMessage( szCause, 255 ); csText += szCause; pDC->TextOut( 90, vSize*iLine++, csText ); } catch(...) // перехват всех исключений!!!. { csText = "In inner catch all block: "; pDC->TextOut( 90, vSize*iLine++, csText ); csText = "Throwing exception to outer catch block: "; pDC->TextOut( 90, vSize*iLine++, csText ); throw; // передает исключение внешнему блоку catch } Рис. 6.4. Окно, содержащее сообщения, которые возникают в процессе порождения исключения, связанного с ресурсом Следует обратить внимание на тот факт, что блок catch(. ..) содержит оператор throw, а обработчик CResourceException - нет. Поскольку исключение 52
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »