Обработка ошибок для командлетов SharePoint Foundation
Дата последнего изменения: 1 октября 2009 г.
Применимо к: SharePoint Foundation 2010
Создаваемые для SharePoint Foundation пользовательские командлеты должны предоставлять базовые средства управления ошибками. Это значит, что необходимо перечислить все условия, при которых в командлете может возникнуть ошибка, и для каждого условия описать ожидаемое поведение. При возникновении ошибки командлеты должны очищать частичные изменения и должны возвращать осмысленное сообщение об ошибке, в котором сообщается, как системный администратор может восстановить систему из состояния ошибки. В частности, командлеты должны быть способны различать неисправимые (прерывающие) и исправимые (непрерывающие) ошибки. Неисправимой является ошибка, которая останавливает обработку команд в Windows PowerShell. Неисправимые ошибки прерывают выполнение конвейера Windows PowerShell. Исправимые ошибки позволяют Windows PowerShell продолжать работать с текущим входным объектом или с последующими входными объектами конвейера. Также непрерывающие ошибки дают системе возможность для восстановления.
Обработка ошибок в командлетах для SharePoint
Командлеты должны быть достаточно устойчивыми к недействительным значениям свойств. Хотя в неисправимых случаях командлет "Get" должен выдавать прерывающую ошибку (например, в случае невозможности подключения к указанной базе данных), он должен расценивать объект, имеющий недействительные свойства, в качестве непрерывающей ошибки и должен записать этот объект в выходной конвейер.
Командлеты должны сообщать все непрерывающие ошибки с помощью метода WriteError(Exception, ErrorCategory, Object). Для прерывающих ошибок командлеты должны выдавать локализованные исключение.
Прерывающие и непрерывающие ошибки должны использовать локализованные строки с сообщениями об ошибках и должны использовать код региона текущего потока при сообщении ошибок с помощью метода WriteError(Exception, ErrorCategory, Object).
Примечание |
---|
Не используйте интерфейсы API сообщений об ошибках Windows PowerShell напрямую, используйте интерфейсы API SharePoint Foundation для Windows PowerShell, которые расположены в пространстве имен Microsoft.SharePoint.PowerShell. Это обеспечивает совместимость командлетов, которые работают в развертываниях SharePoint. Интерфейсы API SharePoint реализуют функциональность встроенных интерфейсов API Windows PowerShell, но, что важно, выполняют дополнительную работу, такую как запись данных об ошибке в файлы журналов. |
См. также
Концепции
Инструкции по разработке командлетов SharePoint Foundation
Ключевые концепции написания командлетов оболочки управления SharePoint