UINT MainFrame::Crtaj()
{
CWnd * wnd = AfxGetMainWindow();
try{
CClientDC clientDC( wnd);
}catch(...)
{
AfxMessageBox("Ne mogu da napravim klijent DC");
return 0;
}
......
......
......
clientDC.BitBlt(.........);
.....
.....
}
kompajler se buni kod onog poziva BitBlt-a...'clientDC' : undeclared identifier
Lepo pise u MSDN-u da konstruktor u slucaju greske dize exception (CResourceException)....
Samo nije mi nije bas najsigurniji sta ga ovde buni....
Da li je sledece moje razmisljanje OK?
Kompajler smatra da clientDC, posto je u okviru try..catch bloka, nije u scope-u ostatka f-je pa ga zato i ne vidi....Zbog toga, u deklaraciji same f-je Crtaj() bi trebalo bi da stoji throw ali bez try...catch bloka u samoj f-ji, pa ako konstruktor izbaci prekid onda ce izbaciti prekidi moja f-ja.
Ne znam da li sam dovoljno dobro opisao problem ( i moje rezonovanje).....
Ako treba onda nema potrebe