NotImplementedException クラス


要求されたメソッドまたは操作が実装されない場合にスローされる例外。The exception that is thrown when a requested method or operation is not implemented.

public ref class NotImplementedException : SystemException
public class NotImplementedException : SystemException
public class NotImplementedException : SystemException
public class NotImplementedException : SystemException
type NotImplementedException = class
    inherit SystemException
Public Class NotImplementedException
Inherits SystemException

次の例では、開発されていないメソッドに対して、この例外をスローします。The following example throws this exception for a method that has not been developed.

static void Main(string[] args)
    catch (NotImplementedException notImp)

static void FutureFeature()
    // Not developed yet.
    throw new NotImplementedException();
Sub Main()
    Catch NotImp As NotImplementedException
    End Try

End Sub

Sub FutureFeature()
    ' not developed yet.
    Throw New NotImplementedException()
End Sub


NotImplementedException 例外は、特定のメソッド、get アクセサー、または set アクセサーが型のメンバーとして存在していても実装されていない場合にスローされます。The NotImplementedException exception is thrown when a particular method, get accessor, or set accessor is present as a member of a type but is not implemented.

NotImplementedException では、参照の等価性をサポートする既定の Object.Equals 実装が使用されます。NotImplementedException uses the default Object.Equals implementation, which supports reference equality. NotImplementedExceptionのインスタンスの初期値の一覧については、「NotImplementedException コンストラクター」を参照してください。For a list of initial values for an instance of NotImplementedException, see the NotImplementedException constructors.

例外をスローするThrowing the exception

そのメンバーがまだ開発中であり、後で実稼働コードで実装される場合は、独自の型のプロパティまたはメソッドで NotImplementedException 例外をスローすることを選択できます。You might choose to throw a NotImplementedException exception in properties or methods in your own types when the that member is still in development and will only later be implemented in production code. つまり、NotImplementedException 例外は、"開発中" と同義である必要があります。In other words, a NotImplementedException exception should be synonymous with "still in development."

例外の処理Handling the exception

NotImplementedException 例外は、呼び出そうとしているメソッドまたはプロパティに実装がないため、機能を提供しないことを示します。The NotImplementedException exception indicates that the method or property that you are attempting to invoke has no implementation and therefore provides no functionality. このため、このエラーは try/catch ブロックでは処理しないようにしてください。As a result, you should not handle this error in a try/catch block. 代わりに、コードからメンバーの呼び出しを削除する必要があります。Instead, you should remove the member invocation from your code. ライブラリの実稼働バージョンに実装されている場合は、メンバーへの呼び出しを含めることができます。You can include a call to the member when it is implemented in the production version of a library.

場合によっては、NotImplementedException 例外を使用して、実稼働前ライブラリでまだ開発中の機能を示すことはできません。In some cases, a NotImplementedException exception may not be used to indicate functionality that is still in development in a pre-production library. ただし、これは機能が使用できないことを示しているため、コードからメンバーの呼び出しを削除する必要があります。However, this still indicates that the functionality is unavailable, and you should remove the member invocation from your code.

NotImplementedException およびその他の例外の種類NotImplementedException and other exception types

.NET Framework には、型の特定のメンバーの実装が存在しないことを示す、NotSupportedExceptionPlatformNotSupportedExceptionという他の2つの例外の種類も含まれています。The .NET Framework also includes two other exception types, NotSupportedException and PlatformNotSupportedException, that indicate that no implementation exists for a particular member of a type. 次の条件下では、NotImplementedException 例外ではなく、これらのいずれかをスローする必要があります。You should throw one of these instead of a NotImplementedException exception under the following conditions.

PlatformNotSupportedException 例外PlatformNotSupportedException exception
一部のプラットフォームまたは一部のバージョンで使用可能な1つ以上のメンバーを持つ型を設計した場合、その機能がサポートされていないプラットフォームでは、この例外をスローできます。If you've designed a type with one or more members that are available on some platforms or in some versions but not on others, you can throw this exception on platforms on which the functionality is not supported.

NotSupportedException 例外NotSupportedException exception
インターフェイスメンバーまたは抽象基底クラスメソッドのオーバーライドを実装できない場合は、NotSupportedException 例外をスローします。Throw a NotSupportedException exception if the implementation of an interface member or an override to an abstract base class method is not possible. たとえば、Convert.ToInt32(DateTime) メソッドは、NotSupportedException 例外をスローします。これは、日付と時刻と32ビット符号付き整数の間に意味のある変換が存在しないためです。For example, the Convert.ToInt32(DateTime) method throws a NotSupportedException exception because no meaningful conversion between a date and time and a 32-bit signed integer exists. この場合、Convert クラスは IConvertible インターフェイスを実装するため、メソッドが存在している必要があります。The method must be present in this case because the Convert class implements the IConvertible interface.

また、抽象基底クラスを実装し、派生クラスでオーバーライドする必要がある新しいメンバーを追加する場合は、NotSupportedException 例外もスローする必要があります。You should also throw a NotSupportedException exception if you've implemented an abstract base class and add a new member to it that must be overridden by derived classes. この場合、メンバーを抽象にすると、既存のサブクラスの読み込みに失敗します。In that case, making the member abstract causes existing subclasses to fail to load.



NotImplementedException クラスの新しいインスタンスを、既定のプロパティを使用して初期化します。Initializes a new instance of the NotImplementedException class with default properties.

NotImplementedException(SerializationInfo, StreamingContext)

シリアル化したデータを使用して、NotImplementedException クラスの新しいインスタンスを初期化します。Initializes a new instance of the NotImplementedException class with serialized data.


指定したエラー メッセージを使用して、NotImplementedException クラスの新しいインスタンスを初期化します。Initializes a new instance of the NotImplementedException class with a specified error message.

NotImplementedException(String, Exception)

指定したエラー メッセージおよびこの例外の原因となった内部例外への参照を使用して、NotImplementedException クラスの新しいインスタンスを初期化します。Initializes a new instance of the NotImplementedException class with a specified error message and a reference to the inner exception that is the cause of this exception.



例外に関する追加のユーザー定義情報を提供する、キーと値のペアのコレクションを取得します。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(継承元 Exception)

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。Gets or sets a link to the help file associated with this exception.

(継承元 Exception)

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(継承元 Exception)

現在の例外の原因となる Exception インスタンスを取得します。Gets the Exception instance that caused the current exception.

(継承元 Exception)

現在の例外を説明するメッセージを取得します。Gets a message that describes the current exception.

(継承元 Exception)

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。Gets or sets the name of the application or the object that causes the error.

(継承元 Exception)

呼び出し履歴で直前のフレームの文字列形式を取得します。Gets a string representation of the immediate frames on the call stack.

(継承元 Exception)

現在の例外がスローされたメソッドを取得します。Gets the method that throws the current exception.

(継承元 Exception)



指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の根本原因である Exception を返します。When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(継承元 Exception)

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetObjectData(SerializationInfo, StreamingContext)

派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。When overridden in a derived class, sets the SerializationInfo with information about the exception.

(継承元 Exception)

現在のインスタンスのランタイム型を取得します。Gets the runtime type of the current instance.

(継承元 Exception)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在の例外の文字列形式を作成して返します。Creates and returns a string representation of the current exception.

(継承元 Exception)



例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(継承元 Exception)