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如果无法实现接口成员或对抽象基类方法的重写,则引发异常。 例如,该方法 Convert.ToInt32(DateTime) 会引发异常 NotSupportedException ,因为日期和时间和 32 位有符号整数之间没有有意义的转换。 由于类实现IConvertible接口,Convert因此此方法必须存在。

如果已实现抽象基类并向其添加新成员,则必须由派生类重写,则还应引发 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)

适用于

另请参阅