“I heard a remark the other day that seemed stupid on the surface, but when I really thought about it I realized it was completely idiotic and irresponsible. The remark was that it's better to crash and let Watson report the error than it is to catch the exception and try to correct it.
A lot of people have been flipping out (see comments below) about the statement that you should catch the exception. The more thoughtful readers point out security concerns with handling exceptions and the dangers of continuing an application with corrupted state. I couldn't agree more. If the failure or exception leaves the program compromised you can't simply continue. My point is just failing and giving up is wrong for users. One solution I talk about below is to fail, report, and reboot (restart) the application, like Office now does.
Watson is the internal name for the functionality behind the Send Error Report dialog box you see when an application running on Microsoft Windows crashes. (Always send it; we truly pay attention.)”
That’s the beginning of I. M.’s blog post and podcast from May 2008, which we’re happy to share today.
You can find the podcast here.
If you enjoy this column or podcast, you might enjoy I. M. Wright’s “Hard Code” (Microsoft Press, 2008), which includes 49 columns and numerous Eric Asides contextualizing I. M.’s thoughts. (Eric Brechner is Director of Development Excellence in Microsoft’s Engineering Excellence group.)
I.M.’s new podcast is coming the first week of June!