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 возникает, когда определенный метод, аксессор получения или аксессор задания присутствует в качестве члена типа, но не реализован.

NotImplementedException использует реализацию по умолчанию Object.Equals , которая поддерживает равенство ссылок. Список начальных значений для экземпляра NotImplementedExceptionсм. в NotImplementedException конструкторах.

Выбросить исключение

Вы можете создать NotImplementedException исключение в свойствах или методах в собственных типах, когда член по-прежнему находится в разработке и будет реализован только позже в рабочем коде.

Обработка исключения

Исключение NotImplementedException указывает, что метод или свойство, которое вы пытаетесь вызвать, не имеет реализации и поэтому не предоставляет функциональных возможностей. В результате эту ошибку не следует обрабатывать в блоке try/catch . Вместо этого необходимо удалить вызов члена из кода. При реализации в рабочей версии библиотеки можно включить вызов участника.

В некоторых случаях исключение может не использоваться для указания функциональности, NotImplementedException которая по-прежнему находится в разработке в предварительной библиотеке. Однако это по-прежнему означает, что функциональность недоступна, и вы должны удалить вызов члена из кода.

NotImplementedException и другие типы исключений

.NET также включает два других типа исключений: NotSupportedException и PlatformNotSupportedException, которые указывают на отсутствие реализации для определенного члена типа. Вы должны выбросить один из этих объектов вместо NotImplementedException исключения при следующих условиях:

  • PlatformNotSupportedException Создайте исключение на платформах, на которых функциональные возможности не поддерживаются, если вы разработали тип с одним или несколькими членами, доступными на некоторых платформах или версиях, но не другими.

  • NotSupportedException Вызовите исключение, если реализация члена интерфейса или переопределение метода абстрактного базового класса невозможна.

    Например, метод Convert.ToInt32(DateTime) выбрасывает NotSupportedException исключение, так как не существует понятного преобразования между датой и временем и 32-разрядным целым числом со знаком. Этот метод должен присутствовать в этом случае, так как Convert класс реализует IConvertible интерфейс.

Вы также должны вызвать NotSupportedException исключение, если вы реализовали абстрактный базовый класс. Добавьте в него новый член, который должен быть переопределен производными классами. В этом случае создание абстрактного элемента приводит к тому, что существующие подклассы не загружались.

Конструкторы

Имя Описание
NotImplementedException()

Инициализирует новый экземпляр NotImplementedException класса со свойствами по умолчанию.

NotImplementedException(SerializationInfo, StreamingContext)
Устаревшие.

Инициализирует новый экземпляр NotImplementedException класса сериализованными данными.

NotImplementedException(String, Exception)

Инициализирует новый экземпляр NotImplementedException класса с указанным сообщением об ошибке и ссылкой на внутреннее исключение, которое является причиной этого исключения.

NotImplementedException(String)

Инициализирует новый экземпляр 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)

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

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