Составители:
исключение, которое не перехватывается этими блоками). Код такого примера
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
- …
- следующая ›
- последняя »