- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
#define DOIT(why, doit) !(why) || ((doit), (why))
...
#define SAFEDOIT(why, doit, ob)\
try\
{\
DOIT((why), (doit));\
}\
catch(...)\
{\
DOIT((ob), (ob)->Print(__FUNCTION__));\
}
...
// где-то в коде:
SAFEDOIT ( ( DOIT ( pScrollBar->IsKindOf ( RUNTIME_CLASS ( CSimpleCtrl ) ) , OnPlay ( 0 ) ) ,
DOIT ( pScrollBar->IsKindOf ( RUNTIME_CLASS ( CSeekCtrl ) ) , OnSeek ( nPos ) ) ) ,
CFrameWnd::OnHScroll ( nSBCode, nPos, pScrollBar ) , &log ) ;