我有一个PowerShell模块。
在模块中,我通过try ... catch块处理异常。 但由于某些原因,当我在创建New-PSDrive时提供错误密码时,我在控制台上写错了:
“New-PSDrive:登录失败:未知用户(...)”
但是try..catch块没有抓住它并重新显示:
try {
# (...)
New-PSDrive -name $myDrive -PSProvider FileSystem -Root $sharedLocation -Credential $credentials
# (...) s
}
catch [System.Exception]
{
$message = "ERROR : Occured "
Write-Error $message
throw $_
}
问题: 有什么建议我为什么不能抓住这个?
答案 0 :(得分:4)
错误可能不是终止错误,因此无法捕获。尝试使用ErrorAction参数ti使错误成为终止错误。
New-PSDrive -name $myDrive ... -ErrorAction Stop