I have a c# program which throws a NullReferenceException(). When I start this on my Vista machine, it gives the familiar screen “Foo has stopped working”. I can easily click on ‘details’ to see what went wrong. On one XP machine there’s no warning at all: the program just quits, and on another XP I get the “Foo has encountered a problem…” message. Is there a way I can change this (XP’s) setting?
Furthermore, I would like to have this error message written to a log file, so I can see what went wrong if somebody else uses my program. Is there a way I can send the uncaught exceptions to a file?
edit: I want this for my entire project, not just for a critical section. I didn’t think it is recommended practice to wrap the entire program in a big try...catch, or is it?
Take a look at : UnhandledException and ThreadException.
You may log the errors in a file, or use Windows logging facilities.
You may also try this and this, it should point you in the direction you want to go. It’s a post about the exact same problem you are trying to solve.