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