错误报告概念
Windows PowerShell提供了两种报告错误的机制:一种机制用于终止 错误,另一种机制用于 非终止错误。 cmdlet 必须正确报告错误,以便运行 cmdlet 的主机应用程序能够以适当的方式做出反应。
当发生错误时,如果 cmdlet 不允许或不应允许该 cmdlet 继续处理其输入对象,则 cmdlet 应调用 System.Management.Automation.Cmdlet.Throwterminatingerror* 方法。 当 cmdlet 可以继续处理输入对象时,cmdlet 应调用 System.Management.Automation.Cmdlet.WriteError 方法来报告非终止错误。 这两种方法都提供了一个错误记录,主机应用程序可以使用该记录来调查错误的原因。
使用以下准则来确定错误是终止错误还是非终止错误。
如果错误阻止 cmdlet 继续处理当前对象或成功处理任何进一步的输入对象,而不考虑其内容,则错误是终止错误。
如果不希望 cmdlet 继续处理当前对象或任何进一步输入对象,而不考虑其内容,则错误是终止错误。
如果错误发生在不接受或返回对象的 cmdlet 中,或者出现在只接受或返回一个对象的 cmdlet 中,则错误是终止错误。
如果希望 cmdlet 继续处理当前对象和任何进一步的输入对象,则错误是非终止错误。
如果错误与特定输入对象或输入对象的子集相关,则它是非终止错误。
另请参阅
System.Management.Automation.Cmdlet.Throwterminatingerror*
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈