当脚本发生错误时,可以使用Try-Catch语句捕获错误,并使用Write-Error命令将错误信息写入错误流。然后可以根据错误流中的错误信息进行相应的处理,例如输出错误日志、发送邮件通知等。 以下是Write-Error命令的一个示例: 代码语言:powershell 复制 try { # 执行一些可能会出错的操作 $result = Some-Operation } catch {...
Write-Error cmdlet 声明非终止错误。 默认情况下,错误流中将错误发送到要显示的主机程序以及输出。若要写入非终止错误,请输入错误消息字符串、ErrorRecord 对象或 异常 对象。 使用 Write-Error 的其他参数填充错误记录。非终止错误将错误写入错误流,但它们不会停止命令处理。如果在输入项集合中的一项上声明了非...
但是根据我的测试,发现Write-Warning和Write-Error的输出最大宽度就是控制台的宽度(换行位置取决于控制台大小),超出即换行输出。 参考 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/write-warning?view=powershell-5.1
我指出这一点,是因为 Write-Error 和其他非终止错误不会触发 catch。忽略异常在这种情况下,捕获错误只是为了抑制它。 这样做时要谨慎,因为它会使故障排除变得非常困难。基本命令语法下面简要概述了 PowerShell 中使用的基本异常处理语法。Throw若要创建自己的异常事件,请使用 throw 关键字引发异常。PowerShell 复制 ...
當 Cmdlet 可以繼續處理輸入物件時,Cmdlet 應該呼叫 System.Management.Automation.Cmdlet.WriteError 方法來報告非終止錯誤。 這兩種方法都提供錯誤記錄,主應用程式可用來調查錯誤的原因。 使用下列指導方針來判斷錯誤是否為終止或非終止錯誤。 如果錯誤會防止 Cmdlet 繼續處理目前的物件,或成功處理任何進一步的輸入物件,不...
Write-Error -Exception 我們可以將這些具類型的例外狀況新增至Write-Error,我們仍然可以catch依例外狀況類型錯誤。 如Write-Error下列範例所示使用: PowerShell # with normal messageWrite-Error-Message"Could not find path:$path"-Exception([System.IO.FileNotFoundException]::new())-ErrorActionStop# With messa...
'Déclaration Protected Sub WriteError ( _ exception As Exception, _ category As ErrorCategory, _ target As Object _ ) 'Utilisation Dim exception As Exception Dim category As ErrorCategory Dim target As Object Me.WriteError(exception, category, _ target) Paramètres exception Type : System.Exce...
Write-Output将对象发送到主管道,这也称为成功流。 若要将错误对象发送到错误流,请使用Write-Error。 此cmdlet 通常用于脚本,以在控制台上显示字符串和其他对象。Write-Output的内置别名之一是echo,这与使用echo的其他 shell 类似。 默认行为是在管道末尾显示输出。 在 PowerShell 中,通常不需要在默认情况下显示输出...
复制 $regex = "^[a-z]+\.[a-z]+@contoso.com$" If ($email –notmatch $regex) { Write-Error "Invalid e-mail address $email" } 在本示例中,您还认识了一个新的运算符。如果该字符串与所提供的 regex 不匹配,-notmatch 将返回 True(还有一个用于区分大小写比较的 –cnotmatch)。
try { # 在这里执行可能会出错的代码 # 例如,调用一个可能会失败的函数 Some-FailingFunction } catch { # 获取错误消息 $errorMessage = $Error[0].Exception.Message Write-Host "执行失败: $errorMessage" } 在这个示例中,如果Some-FailingFunction函数执行失败,catch块将捕获到错误,并将错误消息存储在$error...