Класс System.NotImplementedException
В этой статье приводятся дополнительные замечания к справочной документации по этому API.
Исключение NotImplementedException возникает, когда определенный метод, метод получения или набор доступа присутствует в качестве члена типа, но не реализуется.
NotImplementedException использует реализацию по умолчанию Object.Equals , которая поддерживает равенство ссылок. Список начальных значений для экземпляра NotImplementedExceptionсм. в NotImplementedException конструкторах.
Создание исключения
Вы можете создать NotImplementedException исключение в свойствах или методах в собственных типах, когда этот элемент по-прежнему находится в разработке и будет реализован только в рабочем коде. Другими словами, NotImplementedException исключение должно быть синонимом "по-прежнему в разработке".
Обработка исключения
Исключение NotImplementedException указывает, что метод или свойство, которое вы пытаетесь вызвать, не имеет реализации и поэтому не предоставляет функциональных возможностей. В результате эту ошибку не следует обрабатывать в блоке try/catch
. Вместо этого необходимо удалить вызов члена из кода. При реализации в рабочей версии библиотеки можно включить вызов участника.
В некоторых случаях NotImplementedException исключение может не использоваться для указания функциональности, которая по-прежнему находится в разработке в предварительной библиотеке. Однако это по-прежнему означает, что функциональность недоступна, и вы должны удалить вызов члена из кода.
NotImplementedException и другие типы исключений
.NET также включает два других типа исключений, NotSupportedException а PlatformNotSupportedExceptionтакже указывает, что реализация не существует для определенного члена типа. Вы должны вызвать одно из этих элементов вместо NotImplementedException исключения в следующих условиях:
PlatformNotSupportedException Создайте исключение на платформах, на которых функциональные возможности не поддерживаются, если вы разработали тип с одним или несколькими членами, доступными на некоторых платформах или версиях, но не другими.
NotSupportedException Вызовите исключение, если реализация члена интерфейса или переопределение метода абстрактного базового класса невозможна.
Например, метод создает NotSupportedException исключение, Convert.ToInt32(DateTime) так как не существует понятного преобразования между датой и временем и 32-разрядным целым числом со знаком. Этот метод должен присутствовать в этом случае, так как Convert класс реализует IConvertible интерфейс.
Вы также должны вызвать NotSupportedException исключение, если вы реализовали абстрактный базовый класс и добавьте в него новый член, который должен быть переопределен производными классами. В этом случае создание абстрактного элемента приводит к тому, что существующие подклассы не загружались.