上次修改时间: 2009年10月1日
适用范围: SharePoint Foundation 2010
您用于 SharePoint Foundation 的 cmdlet 必须提供基本错误管理。这意味着您必须列出 cmdlet 可能出错的所有情况,并针对每种情况描述预期行为。您的 cmdlet 必须在出错时清除部分更改,并且必须返回有意义的错误消息,以提示系统管理员如何才能从任何错误情况中恢复。特别是,您的 cmdlet 必须能区分致命(终止)错误和非致命(非终止)错误。致命错误是使 Windows PowerShell 停止处理命令的错误。致命错误会终止 Windows PowerShell 管道的执行。非终止错误允许 Windows PowerShell 继续对当前输入对象或更多进入的管道对象进行操作。此外,非终止错误会给系统提供恢复的机会。
处理用于 SharePoint 的 cmdlet 中的错误
Cmdlet 应该具有足够的弹性,以抵抗无效属性值。在出现致命错误的情况下,Get cmdlet 必须抛出终止错误(例如,在无法连接到指定的数据库时),它必须将具有无效属性的对象视为非终止错误,并且必须将该对象写入到输出管道。
Cmdlets 必须使用 WriteError(Exception, ErrorCategory, Object) 方法报告所有非终止错误。对于终止错误,cmdlet 应该抛出本地化的异常。
在使用 WriteError(Exception, ErrorCategory, Object) 方法报告错误时,终止错误和非终止错误必须使用本地化的错误字符串并且必须使用当前线程区域设置。
备注
不要直接使用 Windows PowerShell 报告错误 API;而应使用位于 Microsoft.SharePoint.PowerShell 命名空间中用于 Windows PowerShell 的 SharePoint Foundation API。这样可确保在 SharePoint 部署中运行的 cmdlet 之间的兼容性。SharePoint API 实现本地 Windows PowerShell API 的功能,但重要的是,它还完成其他额外的工作,例如,将失败数据写入到日志文件中。