In my program i catch exception in branch thread and i need deliver its in main thread. [snapback]18194[/snapback]
You won't be able to "catch" exceptions anywhere except in the call stack that created the exception in the first place. That's the way exceptions work.
If you catch an exception in one thread, and wish to alert another thread about the problem, the standard way to communicate between threads (in the case of windows) is to use events. You set the event in one thread, then use WaitForSingleObject (or one of its siblings) to check for that event.