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
- Наследование
- Наследование
- Атрибуты
Примеры
В следующем примере создается исключение для метода, который не был разработан.
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) |