NotImplementedException 類別

定義

當要求的方法或作業不實作時所擲回的例外狀況。

public ref class NotImplementedException : Exception
public ref class NotImplementedException : SystemException
public class NotImplementedException : Exception
public class NotImplementedException : SystemException
[System.Serializable]
public class NotImplementedException : SystemException
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class NotImplementedException : SystemException
type NotImplementedException = class
    inherit Exception
type NotImplementedException = class
    inherit SystemException
[<System.Serializable>]
type NotImplementedException = class
    inherit SystemException
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type NotImplementedException = class
    inherit SystemException
Public Class NotImplementedException
Inherits Exception
Public Class NotImplementedException
Inherits SystemException
繼承
NotImplementedException
繼承
NotImplementedException
屬性

範例

下列範例會針對尚未開發的方法擲回這個例外狀況。

static void Main(string[] args)
{
    try
    {
        FutureFeature();
    }
    catch (NotImplementedException notImp)
    {
        Console.WriteLine(notImp.Message);
    }
}

static void FutureFeature()
{
    // Not developed yet.
    throw new NotImplementedException();
}
open System

let futureFeature () =
    // Not developed yet.
    raise (NotImplementedException())

[<EntryPoint>]
let main _ =
    try
        futureFeature ()
    with :? NotImplementedException as notImp ->
        printfn $"{notImp.Message}"
    0
Sub Main()
    Try
        FutureFeature()
    Catch NotImp As NotImplementedException
        Console.WriteLine(NotImp.Message)
    End Try


End Sub

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

備註

NotImplementedException當特定方法、get 存取子或 set 存取子呈現為型別的成員,但未實作時,就會擲回例外狀況。

NotImplementedException 會使用支援參考相等的預設 Object.Equals 實作。 如需 實例 NotImplementedException 的初始值清單,請參閱 建 NotImplementedException 構函式。

擲回例外狀況

當該成員仍在開發中,且稍後只會在生產程式碼中實作時,您可能會選擇在自己的類型屬性或方法中擲 NotImplementedException 回例外狀況。 換句話說, NotImplementedException 例外狀況應該與「仍在開發中」同義。

處理例外狀況

NotImplementedException例外狀況表示您嘗試叫用的方法或屬性沒有實作,因此不會提供任何功能。 因此,您不應該在 區塊中 try/catch 處理此錯誤。 相反地,您應該從程式碼中移除成員調用。 在程式庫的生產版本中實作成員時,您可以包含對成員的呼叫。

在某些情況下, NotImplementedException 可能無法使用例外狀況來指出仍在生產階段前程式庫中開發的功能。 不過,這仍然表示功能無法使用,您應該從程式碼中移除成員調用。

NotImplementedException 和其他例外狀況類型

.NET Framework也包含兩個其他例外狀況類型, NotSupportedExceptionPlatformNotSupportedException ,表示類型的特定成員沒有實作。 您應該在下列情況下擲回其中一個 NotImplementedException ,而不是例外狀況。

PlatformNotSupportedException 例外
如果您已設計一個類型,其中包含某些平臺上或某些版本中可用的一或多個成員,但在某些版本上無法使用,您可以在不支援此功能的平臺上擲回此例外狀況。

NotSupportedException 例外
NotSupportedException如果無法實作介面成員或抽象基類方法的覆寫,則擲回例外狀況。 例如,方法會 NotSupportedException 擲回例外狀況, Convert.ToInt32(DateTime) 因為日期和時間與 32 位帶正負號的整數之間沒有有意義的轉換。 在此情況下必須存在 方法, Convert 因為 類別會實作 IConvertible 介面。

如果您已實作抽象基類,並將新的成員新增至它,則必須由衍生類別覆寫,則也應該擲 NotSupportedException 回例外狀況。 在此情況下,讓成員抽象會導致現有的子類別無法載入。

建構函式

NotImplementedException()

使用預設屬性,初始化 NotImplementedException 類別的新執行個體。

NotImplementedException(SerializationInfo, StreamingContext)

使用序列化資料,初始化 NotImplementedException 類別的新執行個體。

NotImplementedException(String)

使用指定的錯誤訊息,初始化 NotImplementedException 類別的新執行個體。

NotImplementedException(String, Exception)

使用指定的錯誤訊息以及造成此例外狀況的內部例外狀況的參考,初始化 NotImplementedException 類別的新執行個體。

屬性

Data

取得鍵值組的集合,這些鍵值組會提供關於例外狀況的其他使用者定義資訊。

(繼承來源 Exception)
HelpLink

取得或設定與這個例外狀況相關聯的說明檔連結。

(繼承來源 Exception)
HResult

取得或設定 HRESULT,它是指派給特定例外狀況的編碼數值。

(繼承來源 Exception)
InnerException

取得造成目前例外狀況的 Exception 執行個體。

(繼承來源 Exception)
Message

取得描述目前例外狀況的訊息。

(繼承來源 Exception)
Source

取得或設定造成錯誤的應用程式或物件的名稱。

(繼承來源 Exception)
StackTrace

取得呼叫堆疊上即時運算框架的字串表示。

(繼承來源 Exception)
TargetSite

取得擲回目前例外狀況的方法。

(繼承來源 Exception)

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetBaseException()

在衍生類別中覆寫時,傳回一或多個後續的例外狀況的根本原因 Exception

(繼承來源 Exception)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetObjectData(SerializationInfo, StreamingContext)

在衍生類別中覆寫時,使用例外狀況的資訊設定 SerializationInfo

(繼承來源 Exception)
GetType()

取得目前執行個體的執行階段類型。

(繼承來源 Exception)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

建立並傳回目前例外狀況的字串表示。

(繼承來源 Exception)

事件

SerializeObjectState
已過時。

當例外狀況序列化,以建立包含例外狀況相關序列化資料的例外狀況狀態物件時,就會發生此事件。

(繼承來源 Exception)

適用於

另請參閱