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 также включает два других типа исключений, NotSupportedException а PlatformNotSupportedExceptionтакже указывает, что реализация для определенного элемента типа не существует. Вы должны создать одно из них вместо 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)

Применяется к

См. также раздел