C# has made a language feature of the NotImplementedException. It's added to a lot of auto-generated code, such as event handler stubs:// Auto-generatedprivate void TextBox_MouseDown(object sender, MouseEventArgs e){    throw new NotImplementedException();}What makes this exceptionuseful?a good language feature?It seems to me that the only person who should ever see that exception thrown is the developer of a piece of software - but that's what issue and TODO tracking systems are for.
Why is having a NotImplementedException a good thing?
c#;language design;language features
It allows the code to compile for your method stub (regardless of the method's return type), while you get around to putting in an implementation.It also reminds you to put in the implementation, because it will throw the first time you try to MouseDown on that textbox.  A thrown exception that says This method is not implemented is much better than clicking a textbox and wondering why nothing happens.