Mod*_*dro 1 powershell try-catch
当我对try{} catch{}这些服务器执行ping操作时,我只会收到一个cmdlet错误,而不是try-catch中的catch ...这里是什么问题?
foreach($s in $servers)
{
try{Test-Connection $s.server -Count 1}
catch{ Write-Host "error"}
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,cmdlet会引发try / catch无法处理的非脚本终止错误。您可以使用$ErrorActionPreference自动变量或-ErrorAction通用参数来更改此行为:
# or `$ErrorActionPreference = 'Stop'`
foreach ($s in $servers) {
try {
Test-Connection -TargetName $s.server -Count 1 -ErrorAction Stop
}
catch {
"$_"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |