How you have this setup won't work like you want. Your code, as it is now, will only catch exceptions thrown during the Thread setup and start. It won't catch exceptions that happen inside that new thread. Exceptions caught with Try/Catch blocks won't cross thread boundries. Since the code on your main thread can be anywhere when an exception on a second thread is thrown, there is no way to capture an exception using a Try/Catch block. An alternative method for capturing exceptions on seperate threads is to have your threaded code in a class that can raise events. Then, if an exception does occur, try/catch blocks in your threaded code can raise an error event and send the exception data back to your main code through an event handler. That way, all of your error handling code for your threaded component can he handled in one place. RageInTheMachine9532