Hi everyone, I'm starting to use threading in order to avoid the interface to freeze whenever I'm accesing the database and for this I'm using the backgroundworker class, which I found very useful at least in this period I'm starting. The problem I'm having is that after I've started to use it , the visual studio is not handling the exceptions normally anymore. With this I'm NOT meaning the try-catch structure inside a program, but the normal debugging feature of visual studio, which stops the program and gives back a window with the exception it arised, for example some bad assignament, a null reference, etc. It ALWASY shows me that the exception is on the same line in the program.cs:
Application.Run(new Form1()); And the exception is ALWAYS the same: "Exception has been thrown by the target of an invocation." I was trying to read about this and it seems to be common problem when the exception is not in the main thread, i.e. the windows forms handling thread. But in this case the exception is being made on the RunWorkerCompleted event handler, which belongs to the MAIN thread ... I'm not getting what's going on here. I want to clarify that I'm able to debug where the problem is using another ways like flag variables, counters to see where the program stoped working, etc; but it would be very nice to KNOW how usually people debug programs with threading. Is there a "standard" way of doing this? is there a better way to do this? Thanks !
