Составители:
исключение, которое не перехватывается этими блоками). Код такого примера
void CExceptionsView::OnExceptionsFailedcatch()
{
C->GetTextExtent( "A", 1 );
t vSize = cSize.cy, iLine =0, *p = 0x00000000;
;
го предшествующего текста
xt = "Starting process";
C->TextOut( 10, vSize*iLine++, csText );
try
{
sText = "About to cause exception ...";
екорректно, то кроме
вывода текста она также отображает модальное диалоговое окно сообщения,
содержащее соответствующее рис. 6.3).
Рис. 6
преду
MessageBox( "WARNING!\r\nThis exception may require a reboot\r\n"
"for full recovery!" );
catch( асс CException не может перехватить
{ ошибки доступа к памяти
практически идентичен приведенному выше.
CDC *pDC = GetDC() ;
CSize cSize = pD
in
CString csText
Invalidate () ;
OnPaint(); // удаление все
csTe
pD
csText = "In try block";
pDC->TextOut( 50, vSize*iLine++, csText );
c
pDC->TextOut( 90, vSize*iLine++, csText );
Поскольку эта процедура точно будет выполнена н
предупреждение (
.3. Окно-предупреждение, генерируемое модулем Failed Catch
Ниже представлен исходный код, позволяющий выводить данное
преждение.
*p = 999;
}
CException *e ) // кл
//код
TCHAR szCause[255];
49
исключение, которое не перехватывается этими блоками). Код такого примера
практически идентичен приведенному выше.
void CExceptionsView::OnExceptionsFailedcatch()
{
CDC *pDC = GetDC() ;
CSize cSize = pDC->GetTextExtent( "A", 1 );
int vSize = cSize.cy, iLine =0, *p = 0x00000000;
CString csText;
Invalidate () ;
OnPaint(); // удаление всего предшествующего текста
csText = "Starting process";
pDC->TextOut( 10, vSize*iLine++, csText );
try
{
csText = "In try block";
pDC->TextOut( 50, vSize*iLine++, csText );
csText = "About to cause exception ...";
pDC->TextOut( 90, vSize*iLine++, csText );
Поскольку эта процедура точно будет выполнена некорректно, то кроме
вывода текста она также отображает модальное диалоговое окно сообщения,
содержащее соответствующее предупреждение (рис. 6.3).
Рис. 6.3. Окно-предупреждение, генерируемое модулем Failed Catch
Ниже представлен исходный код, позволяющий выводить данное
предупреждение.
MessageBox( "WARNING!\r\nThis exception may require a reboot\r\n"
"for full recovery!" );
*p = 999;
}
catch( CException *e ) // класс CException не может перехватить
{ //код ошибки доступа к памяти
TCHAR szCause[255];
49
Страницы
- « первая
- ‹ предыдущая
- …
- 47
- 48
- 49
- 50
- 51
- …
- следующая ›
- последняя »
