C# NotImplementedException

This C# exception article demonstrates NotImplementedException.

NotImplementedException. A NotImplementedException has been thrown.

An exception's type helps us learn the reason the exception was thrown. The NotImplementedException indicates in a clear way that the functionality being requested was simply not implemented.



Example. To start, the NotImplementedException is not a debugging construct, but it should not be thrown in completed programs. When adding a method, you may want the method to exist but you may not be able to implement it yet.


And: This can help with a complex system as it is developed. This example uses NotImplementedException in an unimplemented method.

C# program that uses NotImplementedException

using System;

class Program
    static void Main()

    static int Method()
	// Leave this as a stub.
	throw new NotImplementedException();

    Exception message is printed to screen.

In the example, please notice how the method returns an integer value. A compile-time error would occur if the method simply had a blank body. The NotImplementedException prevents this from happening and so keeps the program compilable.

Self-documenting type. When using exceptions, you want to describe the problem as much as possible through the type itself. In error messages, the type of the exception is prominently featured.

Therefore: When the NotImplementedException occurs, you will realize that the problem is unfinished code—not another error.


Summary. Through specific exception types, you can accurately describe the problems that occur in your program. As a descriptive exception type, the NotImplementedException is useful as a way to compile an unfinished program.


Finally: Visual Studio inserts the NotImplementedException in method stubs such as in Windows Forms programs. It is a convention.