What to do when the unexpected happens (part 2)
Thanks all for the fantastic feedback on the previous post. Based on your response we've decided to go ahead and add watson dump reporting for beta2 for our asserts. Based on the success in fixing bugs bases on the dumps and user feedback about the experience we'll decide how we want to proceed for the final release.
FYI: The behavior of error handling is determined through a few registry keys. Specifically:
HKCU\SOFTWARE\MICROSOFT\VISUALSTUDIO\8.0\CSHARP\EDITOR\Watson_ReportExceptions - true
HKCU\SOFTWARE\MICROSOFT\VISUALSTUDIO\8.0\CSHARP\EDITOR\Watson_ReportFailures - true
HKCU\SOFTWARE\MICROSOFT\VISUALSTUDIO\8.0\CSHARP\EDITOR\Watson_MaxExceptionsToReport - 1
HKCU\SOFTWARE\MICROSOFT\VISUALSTUDIO\8.0\CSHARP\EDITOR\Watson_MaxFailuresToReport - 1
HKCU\SOFTWARE\MICROSOFT\VISUALSTUDIO\8.0\CSHARP\EDITOR\Watson_SendReportWhenDebugging - false
HKCU\SOFTWARE\MICROSOFT\VISUALSTUDIO\8.0\CSHARP\EDITOR\Watson_SendExceptionReportWithoutPrompting - false
HKCU\SOFTWARE\MICROSOFT\VISUALSTUDIO\8.0\CSHARP\EDITOR\Watson_SendFailureReportWithoutPrompting - false
As you can see we treat the exceptions (which we know are bad) differently from the regular failures that can happen since we're not always sure that failures are a bad thing. Because we place a cap on how many dumps are sent we don't want a sent failure to cause a thrown exception to not be sent.
I'm guessing that in the final release these will set these keys so that we won't send reports. However, users who want to enable this functionality can do so by (at worst) changing the registry or (at best) changing some UI in Tools|Options.