   Crash Handler
  I'm planning on releasing a game soon and I'd like to package a crash reporting system with it.  Basically, I have a windows forms program coded in csharp that launches my game, and if my game exits with any exit code other then zero, my program (if the user OK's it), sends the crash report to my companies website.I'd like to get some feedback on this from other developers.  Is what I'm suggesting the usual way to handle crash reports?  I'll basically be gathering the users systems specs and sending the games log file to the website for study.I'm also curious if there is a way to omit the "send. don't send." microsoft error in favor of my crash report.  That way it simplifies the experience, so the user doesn't have to go through 2 crash messages.   
  Why not simply write code in your game (Say, a try-catch block over the main block) to catch exceptions and do the "send/don't send" message there?As a benefit (AFAIK), Microsoft's own error-reporting doesn't even register that something went wrong, since your program handled the error itself.I've tested a try-catch block over the main loop in C# and there was no measurable slowdown, besides that of starting the try-catch block - Which was extremely negligible.   ;Quote:As a benefit (AFAIK), Microsoft's own error-reporting doesn't even register that something went wrong, since your program handled the error itself.Is this true for only C# apps or does it work with C++ as well?Although the crash handler is written in C#, the game is written in C++ using MinGW.  Because I'm not using a Microsoft compiler for the game, will Microsoft still know NOT to display the "send. don't send" box?If your curious why I'm using C# for the crash handler and not strait C++, it's because of 2 reasons:1.  I want to keep the game lite-weight, meaning no heavy gui libs like Qt.2.  Win32api is a PITA.If your also wondering why I'm using MinGW instead of VisualC++, it's because I'm also working on a Mac port and I've found that Microsoft likes to implement a lot of "extensions" to c++, making it less portable.  In other words, what compiles under visual studio, may fail horribly on gcc.  So, in the sake of making porting easier, I'm using MinGW.   ;  You could just get at the submitted Microsoft error reports: http://www.microsoft.com/whdc/winlogo/maintain/StartWER.mspxA quick search also turned up http://www.codeproject.com/KB/applications/minidump.aspx?msg=1325470 which might be helpful if you want to write your own system. However it's designed for Visual C++, and I don't know how easy it would be to port.   