共用方式為


System.NotImplementedException 類別

本文提供此 API 參考文件的補充備註。

在特定方法、get 存取子或 set 存取子作為型別的成員存在但未實作時,將拋出NotImplementedException例外狀況。

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

擲出例外狀況

您可以選擇在您自己的類型中擲回 NotImplementedException 例外狀況,當該成員仍在開發中且稍後才會在生產程式代碼中實作時。 換句話說,NotImplementedException 例外狀況應該意同於「仍在開發中」。

處理例外狀況

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

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

NotImplementedException 和其他例外狀況類型

.NET 也包含另外兩種例外狀況類型, NotSupportedException 以及 PlatformNotSupportedException,表示類型的特定成員沒有實作。 您應該在下列情況下,擲回其中之一而不是擲回 NotImplementedException 例外狀況:

  • 如果您設計的類型包含在某些平臺或版本上提供但不在其他版本上提供的一或多個成員,則需要在不支援此功能的平臺上擲回PlatformNotSupportedException例外狀況。

  • 如果無法實作介面成員或覆寫抽象基類方法,則擲回 NotSupportedException 例外狀況。

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

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